NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
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
ndn::time
Definition:
time-custom-clock.hpp:28
nfd
Copyright (c) 2011-2015 Regents of the University of California.
Definition:
ndn-common.hpp:40
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 Fri Feb 23 2018 12:30:55 for ndnSIM by
1.8.14