31 BOOST_CONCEPT_ASSERT((boost::EqualityComparable<AdditionalDescription>));
    32 BOOST_CONCEPT_ASSERT((WireEncodable<AdditionalDescription>));
    33 BOOST_CONCEPT_ASSERT((WireEncodableWithEncodingBuffer<AdditionalDescription>));
    34 BOOST_CONCEPT_ASSERT((WireDecodable<AdditionalDescription>));
    35 static_assert(std::is_base_of<tlv::Error, AdditionalDescription::Error>::value,
    36               "AdditionalDescription::Error must inherit from tlv::Error");
    49   auto it = m_info.find(key);
    50   if (it == m_info.end())
    65   return (m_info.find(key) != m_info.end());
    71   return m_info.begin();
    83   return m_info.begin();
    92 template<encoding::Tag TAG>
    96   size_t totalLength = 0;
    98   for (
auto it = m_info.rbegin(); it != m_info.rend(); it++) {
    99     size_t entryLength = 0;
   102     entryLength += encoder.prependVarNumber(entryLength);
   105     totalLength += entryLength;
   108   totalLength += encoder.prependVarNumber(totalLength);
   127   m_wire = buffer.block();
   137      NDN_THROW(
Error(
"The supplied block does not contain wire format"));
   148     const Block& entry = *it;
   159       NDN_THROW(
Error(
"Invalid DescriptionKey or DescriptionValue field"));
   172   for (
const auto& entry : desc) {
   173     join = 
"(" + entry.first + 
":" + entry.second + 
")";
 bool has(const std::string &key) const
std::map< std::string, std::string >::const_iterator const_iterator
static const size_t VALUE_OFFSET
Abstraction of AdditionalDescription. 
static const size_t KEY_OFFSET
void wireDecode(const Block &wire)
Decode ValidityPeriod from TLV block. 
void parse() const
Parse TLV-VALUE into sub-elements. 
Represents a TLV element of NDN packet format. 
size_t prependStringBlock(EncodingImpl< TAG > &encoder, uint32_t type, const std::string &value)
Prepend a TLV element containing a string. 
void set(const std::string &key, const std::string &value)
bool hasWire() const noexcept
Check if the Block contains a fully encoded wire representation. 
std::string readString(const Block &block)
Read TLV-VALUE of a TLV element as a string. 
element_const_iterator elements_begin() const
Equivalent to elements().begin() 
std::map< std::string, std::string >::iterator iterator
const Block & wireEncode() const
Encode ValidityPeriod into TLV block. 
const std::string & get(const std::string &key) const
const element_container & elements() const
Get container of sub-elements. 
std::ostream & operator<<(std::ostream &os, const AdditionalDescription &desc)
element_const_iterator elements_end() const
Equivalent to elements().end() 
Backport of ostream_joiner from the Library Fundamentals v2 TS. 
ostream_joiner< std::decay_t< DelimT >, CharT, Traits > make_ostream_joiner(std::basic_ostream< CharT, Traits > &os, DelimT &&delimiter)
#define NDN_CXX_DEFINE_WIRE_ENCODE_INSTANTIATIONS(ClassName)
size_t elements_size() const
Equivalent to elements().size() 
AdditionalDescription()=default
Create an empty AdditionalDescription. 
EncodingImpl< EncoderTag > EncodingBuffer
uint32_t type() const
Return the TLV-TYPE of the Block. 
EncodingImpl< EstimatorTag > EncodingEstimator