/usr/include/ola/base/Macro.h is in libola-dev 0.9.1-1.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | /*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*
* Macro.h
*/
/**
* @file Macro.h
* @brief Helper macros.
*/
#ifndef INCLUDE_OLA_BASE_MACRO_H_
#define INCLUDE_OLA_BASE_MACRO_H_
/**
* @def DISALLOW_COPY_AND_ASSIGN(Foo)
* @brief Creates dummy copy constructor and assignment operator declarations.
*
* Use this in the private: section of a class to prevent copying / assignment.
*
* @examplepara
* @code
* class Foo {
* public:
* Foo() { ... }
*
* private:
* DISALLOW_COPY_AND_ASSIGN(Foo);
* };
* @endcode
*/
#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
TypeName(const TypeName&); \
void operator=(const TypeName&)
/*
* This code was adapted from:
* http://blogs.msdn.com/b/abhinaba/archive/
* 2008/10/27/c-c-compile-time-asserts.aspx
*/
#ifdef __cplusplus
#define JOIN(X, Y) JOIN2(X, Y)
#define JOIN2(X, Y) X##Y
namespace internal {
template <bool> struct STATIC_ASSERT_FAILURE;
template <> struct STATIC_ASSERT_FAILURE<true> { enum { value = 1 }; };
template<int x> struct static_assert_test{};
}
#define STATIC_ASSERT(x) \
typedef ::internal::static_assert_test<\
sizeof(::internal::STATIC_ASSERT_FAILURE< static_cast<bool>( x ) >)>\
JOIN(_static_assert_typedef, __LINE__)
#else // __cplusplus
#define STATIC_ASSERT(x) extern int __dummy[static_cast<int>x]
#endif // __cplusplus
/*
* End of adapted code.
*/
#endif // INCLUDE_OLA_BASE_MACRO_H_
|