28 #ifndef NDN_COMMON_HPP
29 #define NDN_COMMON_HPP
31 #include "ndn-cxx-config.hpp"
35 #ifdef NDN_CXX_HAVE_TESTS
36 #define NDN_CXX_VIRTUAL_WITH_TESTS virtual
37 #define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED public
38 #define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE public
39 #define NDN_CXX_PROTECTED_WITH_TESTS_ELSE_PRIVATE protected
41 #define NDN_CXX_VIRTUAL_WITH_TESTS
42 #define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PROTECTED protected
43 #define NDN_CXX_PUBLIC_WITH_TESTS_ELSE_PRIVATE private
44 #define NDN_CXX_PROTECTED_WITH_TESTS_ELSE_PRIVATE private
48 #if __cplusplus < 201103L && !defined(__GXX_EXPERIMENTAL_CXX0X__)
49 # error "ndn-cxx applications must be compiled using the C++11 standard (-std=c++11)"
61 #include <type_traits>
65 #if defined(__GNUC__) || defined(__clang__)
66 # define DEPRECATED(func) func __attribute__ ((deprecated))
67 #elif defined(_MSC_VER)
68 # define DEPRECATED(func) __declspec(deprecated) func
70 # pragma message("DEPRECATED not implemented")
71 # define DEPRECATED(func) func
76 using std::shared_ptr;
77 using std::unique_ptr;
79 using std::bad_weak_ptr;
80 using std::make_shared;
81 using std::enable_shared_from_this;
83 using std::static_pointer_cast;
84 using std::dynamic_pointer_cast;
85 using std::const_pointer_cast;
96 #define BOOST_BIND_NO_PLACEHOLDERS
97 #include <boost/is_placeholder.hpp>
99 #define NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(N) \
101 struct is_placeholder<typename std::remove_const<decltype(_##N)>::type> \
116 #undef NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER
119 #include <boost/assert.hpp>
120 #include <boost/concept_check.hpp>
121 #include <boost/noncopyable.hpp>
122 #include <boost/throw_exception.hpp>
125 using boost::noncopyable;
130 #endif // NDN_COMMON_HPP
Copyright (c) 2013-2016 Regents of the University of California.
Copyright (c) 2013-2016 Regents of the University of California.
#define NDN_CXX_SPECIALIZE_BOOST_IS_PLACEHOLDER_FOR_STD_PLACEHOLDER(N)