28 #ifndef NDN_CXX_UTIL_CONCEPTS_HPP
29 #define NDN_CXX_UTIL_CONCEPTS_HPP
34 #include <boost/concept/usage.hpp>
35 #include <boost/type_traits/has_equal_to.hpp>
36 #include <boost/type_traits/has_not_equal_to.hpp>
37 #include <boost/type_traits/has_left_shift.hpp>
49 Block block = j.wireEncode();
66 size_t estimatedSize = j.wireEncode(estimator);
69 j.wireEncode(encoder);
101 static_assert(std::is_default_constructible<X>::value,
"");
102 static_assert(boost::has_equal_to<X, X, bool>::value,
"");
103 static_assert(boost::has_not_equal_to<X, X, bool>::value,
"");
104 static_assert(boost::has_left_shift<std::ostream, X, std::ostream&>::value,
"");
105 static_assert(std::is_base_of<tlv::Error, typename X::Error>::value,
"");
135 ,
public boost::DefaultConstructible<T>
147 #define NDN_CXX_ASSERT_FORWARD_ITERATOR(T) \
148 static_assert(std::is_default_constructible<T>::value, \
149 #T " must be default-constructible"); \
150 BOOST_CONCEPT_ASSERT((::ndn::detail::StlForwardIteratorConcept<T>))
Represents a TLV element of the NDN packet format.
size_t size() const
Return the size of the encoded wire, i.e., of the whole TLV.
Concept check for an item in a Notification Stream.
Concept check for an item in a Status Dataset.
A concept check for TLV abstraction with a wireDecode(Block) method and constructible from Block.
BOOST_CONCEPT_USAGE(WireDecodable)
A concept check for TLV abstraction with a wireEncode(EncodingBuffer) method.
BOOST_CONCEPT_USAGE(WireEncodableWithEncodingBuffer)
A concept check for TLV abstraction with a wireEncode() method.
BOOST_CONCEPT_USAGE(WireEncodable)
BOOST_CONCEPT_USAGE(NfdMgmtProtocolStruct)
EncodingImpl< EstimatorTag > EncodingEstimator
EncodingImpl< EncoderTag > EncodingBuffer