NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.0: NDN, CCN, CCNx, content centric networks
API Documentation
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
ndnSIM
ndnSIM documentation
All Attributes
All GlobalValues
All LogComponents
All TraceSources
Todo List
Deprecated List
Modules
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
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 <map>
55
#include <set>
56
#include <queue>
57
#include <unordered_map>
58
#include <unordered_set>
59
#include <vector>
60
#include <string>
61
62
#include <ndn-cxx/common.hpp>
63
#include <ndn-cxx/interest.hpp>
64
#include <ndn-cxx/data.hpp>
65
#include <ndn-cxx/util/face-uri.hpp>
66
#include <ndn-cxx/util/signal.hpp>
67
68
#include <boost/algorithm/string.hpp>
69
#include <boost/asio.hpp>
70
#include <boost/assert.hpp>
71
#include <boost/lexical_cast.hpp>
72
#include <boost/noncopyable.hpp>
73
#include <boost/property_tree/ptree.hpp>
74
#include <boost/throw_exception.hpp>
75
76
namespace
nfd
{
77
78
using
std::size_t;
79
80
using
boost::noncopyable;
81
82
using
std::shared_ptr;
83
using
std::unique_ptr;
84
using
std::weak_ptr;
85
using
std::make_shared;
86
using
std::enable_shared_from_this;
87
88
using
std::static_pointer_cast;
89
using
std::dynamic_pointer_cast;
90
using
std::const_pointer_cast;
91
92
using
std::function;
93
using
std::bind;
94
using
std::ref;
95
using
std::cref;
96
97
using
ndn::Interest
;
98
using
ndn::Data
;
99
using
ndn::Name
;
100
using
ndn::Exclude
;
101
using
ndn::Block
;
102
using
ndn::util::FaceUri
;
103
104
namespace
tlv {
105
// Don't write "namespace tlv = ndn::tlv", because NFD can add other members into this namespace.
106
using namespace
ndn::tlv
;
107
}
// namespace tlv
108
109
namespace
name
=
ndn::name
;
110
namespace
time
=
ndn::time
;
111
namespace
signal
=
ndn::util::signal
;
112
113
}
// namespace nfd
114
115
// Some platforms are missing std::to_string (issue #2743)
116
#ifndef HAVE_STD_TO_STRING
117
namespace
std
{
118
template
<
typename
V>
119
inline
std::string
120
to_string
(
const
V& v)
121
{
122
return
boost::lexical_cast<std::string>(v);
123
}
124
}
// namespace std
125
#endif // HAVE_STD_TO_STRING
126
127
128
#endif // NFD_COMMON_HPP
ndn::util::FaceUri
represents the underlying protocol and address used by a Face
Definition:
face-uri.hpp:44
std
STL namespace.
ndn::Block
Class representing a wire element of NDN-TLV packet format.
Definition:
block.hpp:43
config.hpp
ndn::time
Definition:
time-custom-clock.hpp:28
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:38
ns3::ndn::Name
Name
Definition:
ndn-common.cpp:25
ndn::tlv::Exclude
Definition:
tlv.hpp:73
ndn::tlv
Namespace defining NDN-TLV related constants and procedures.
Definition:
tlv-nfd.hpp:29
std::to_string
std::string to_string(const V &v)
Definition:
common.hpp:120
ndn::tlv::Data
Definition:
tlv.hpp:62
ndn::util::signal
Definition:
signal-connection.cpp:26
ndn::tlv::Interest
Definition:
tlv.hpp:61
ndn::name
Definition:
name-component.cpp:37
ndnSIM
NFD
common.hpp
Generated on Tue Feb 23 2016 22:18:44 for ndnSIM by
1.8.11