NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
common.hpp
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
26 #ifndef NFD_COMMON_HPP
27 #define NFD_COMMON_HPP
28 
29 #include "config.hpp"
30 
31 #ifdef WITH_TESTS
32 #define VIRTUAL_WITH_TESTS virtual
33 #define PUBLIC_WITH_TESTS_ELSE_PROTECTED public
34 #define PUBLIC_WITH_TESTS_ELSE_PRIVATE public
35 #define PROTECTED_WITH_TESTS_ELSE_PRIVATE protected
36 #else
37 #define VIRTUAL_WITH_TESTS
38 #define PUBLIC_WITH_TESTS_ELSE_PROTECTED protected
39 #define PUBLIC_WITH_TESTS_ELSE_PRIVATE private
40 #define PROTECTED_WITH_TESTS_ELSE_PRIVATE private
41 #endif
42 
46 #ifdef HAVE_CXX_OVERRIDE
47 #define DECL_OVERRIDE override
48 #else
49 #define DECL_OVERRIDE
50 #endif
51 
52 #include <cstddef>
53 #include <list>
54 #include <set>
55 #include <queue>
56 #include <vector>
57 
58 #include <ndn-cxx/common.hpp>
59 #include <ndn-cxx/interest.hpp>
60 #include <ndn-cxx/data.hpp>
61 #include <ndn-cxx/util/event-emitter.hpp> // deprecated
62 #include <ndn-cxx/util/signal.hpp>
63 
64 #include <boost/algorithm/string.hpp>
65 #include <boost/asio.hpp>
66 #include <boost/assert.hpp>
67 #include <boost/lexical_cast.hpp>
68 #include <boost/noncopyable.hpp>
69 #include <boost/property_tree/ptree.hpp>
70 
71 namespace nfd {
72 
73 using std::size_t;
74 
75 using boost::noncopyable;
76 
77 using std::shared_ptr;
78 using std::unique_ptr;
79 using std::weak_ptr;
80 using std::bad_weak_ptr;
81 using std::make_shared;
82 using std::enable_shared_from_this;
83 
84 using std::static_pointer_cast;
85 using std::dynamic_pointer_cast;
86 using std::const_pointer_cast;
87 
88 using std::function;
89 using std::bind;
90 using std::ref;
91 using std::cref;
92 
93 using ndn::Interest;
94 using ndn::Data;
95 using ndn::Name;
96 using ndn::Exclude;
97 using ndn::Block;
98 using ndn::util::EventEmitter; // deprecated
99 
100 namespace tlv {
101 // Don't write "namespace tlv = ndn::tlv", because NFD can add other members into this namespace.
102 using namespace ndn::tlv;
103 } // namespace tlv
104 
105 namespace name = ndn::name;
106 namespace time = ndn::time;
107 namespace signal = ndn::util::signal;
108 
109 } // namespace nfd
110 
111 #endif // NFD_COMMON_HPP