28 #ifndef NDN_UTIL_CONCEPTS_HPP 29 #define NDN_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,
"");
137 ,
public boost::DefaultConstructible<T>
147 #define NDN_CXX_ASSERT_DEFAULT_CONSTRUCTIBLE(T) \ 148 static_assert(std::is_default_constructible<T>::value, \ 149 #T " must be default-constructible"); \ 150 BOOST_CONCEPT_ASSERT((boost::DefaultConstructible<T>)) 157 #define NDN_CXX_ASSERT_FORWARD_ITERATOR(T) \ 158 static_assert(std::is_default_constructible<T>::value, \ 159 #T " must be default-constructible"); \ 160 BOOST_CONCEPT_ASSERT((::ndn::detail::StlForwardIteratorConcept<T>)) 164 #endif // NDN_UTIL_CONCEPTS_HPP
BOOST_CONCEPT_USAGE(WireDecodable)
Represents a TLV element of NDN packet format.
size_t size() const
Return the size of the encoded wire, i.e.
a concept check for TLV abstraction with .wireEncode method
concept check for an item in a Notification Stream
BOOST_CONCEPT_USAGE(WireEncodable)
BOOST_CONCEPT_USAGE(NfdMgmtProtocolStruct)
concept check for an item in a Status Dataset
BOOST_CONCEPT_USAGE(WireEncodableWithEncodingBuffer)
a concept check for TLV abstraction with .wireEncode method
a concept check for TLV abstraction with .wireDecode method and constructible from Block ...
EncodingImpl< EncoderTag > EncodingBuffer
EncodingImpl< EstimatorTag > EncodingEstimator