Helper class to estimate size of TLV encoding Interface of this class (mostly) matches interface of Encoder class. More...
#include <estimator.hpp>
Public Member Functions | |
Estimator (size_t totalReserve=0, size_t reserveFromBack=0) | |
Create instance of the estimator. More... | |
Estimator (const Estimator &)=delete | |
Estimator & | operator= (const Estimator &)=delete |
size_t | prependByte (uint8_t value) |
Prepend a byte. More... | |
size_t | appendByte (uint8_t value) |
Append a byte. More... | |
size_t | prependByteArray (const uint8_t *array, size_t length) |
Prepend a byte array array of length length . More... | |
size_t | appendByteArray (const uint8_t *array, size_t length) |
Append a byte array array of length length . More... | |
template<class Iterator > | |
size_t | prependRange (Iterator first, Iterator last) |
Prepend range of bytes from the range [first , last ) More... | |
template<class Iterator > | |
size_t | appendRange (Iterator first, Iterator last) |
Append range of bytes from the range [first , last ) More... | |
size_t | prependVarNumber (uint64_t varNumber) |
Prepend VarNumber varNumber of NDN TLV encoding. More... | |
size_t | appendVarNumber (uint64_t varNumber) |
Prepend VarNumber varNumber of NDN TLV encoding. More... | |
size_t | prependNonNegativeInteger (uint64_t integer) |
Prepend non-negative integer integer of NDN TLV encoding. More... | |
size_t | appendNonNegativeInteger (uint64_t integer) |
Append non-negative integer integer of NDN TLV encoding. More... | |
size_t | prependByteArrayBlock (uint32_t type, const uint8_t *array, size_t arraySize) |
Prepend TLV block of type type and value from buffer array of size arraySize . More... | |
size_t | appendByteArrayBlock (uint32_t type, const uint8_t *array, size_t arraySize) |
Append TLV block of type type and value from buffer array of size arraySize . More... | |
size_t | prependBlock (const Block &block) |
Prepend TLV block block . More... | |
size_t | appendBlock (const Block &block) |
Append TLV block block . More... | |
Helper class to estimate size of TLV encoding Interface of this class (mostly) matches interface of Encoder class.
Definition at line 36 of file estimator.hpp.
|
explicit |
Create instance of the estimator.
totalReserve | not used (for compatibility with the Encoder) |
reserveFromBack | not used (for compatibility with the Encoder) |
Definition at line 27 of file estimator.cpp.
|
delete |
size_t ndn::encoding::Estimator::prependByte | ( | uint8_t | value | ) |
Prepend a byte.
Definition at line 32 of file estimator.cpp.
size_t ndn::encoding::Estimator::appendByte | ( | uint8_t | value | ) |
Append a byte.
Definition at line 38 of file estimator.cpp.
size_t ndn::encoding::Estimator::prependByteArray | ( | const uint8_t * | array, |
size_t | length | ||
) |
Prepend a byte array array
of length length
.
Definition at line 45 of file estimator.cpp.
Referenced by appendByteArray().
size_t ndn::encoding::Estimator::appendByteArray | ( | const uint8_t * | array, |
size_t | length | ||
) |
Append a byte array array
of length length
.
Definition at line 51 of file estimator.cpp.
References prependByteArray().
|
inline |
Prepend range of bytes from the range [first
, last
)
Definition at line 146 of file estimator.hpp.
Referenced by appendRange().
|
inline |
Append range of bytes from the range [first
, last
)
Definition at line 154 of file estimator.hpp.
References prependRange().
size_t ndn::encoding::Estimator::prependVarNumber | ( | uint64_t | varNumber | ) |
Prepend VarNumber varNumber
of NDN TLV encoding.
Definition at line 57 of file estimator.cpp.
Referenced by appendVarNumber(), ndn::encoding::detail::BinaryBlockFast< Iterator >::makeBlock(), and prependByteArrayBlock().
size_t ndn::encoding::Estimator::appendVarNumber | ( | uint64_t | varNumber | ) |
Prepend VarNumber varNumber
of NDN TLV encoding.
Definition at line 74 of file estimator.cpp.
References prependVarNumber().
size_t ndn::encoding::Estimator::prependNonNegativeInteger | ( | uint64_t | integer | ) |
Prepend non-negative integer integer
of NDN TLV encoding.
Definition at line 81 of file estimator.cpp.
Referenced by appendNonNegativeInteger(), and ndn::name::Component::fromNumberWithMarker().
size_t ndn::encoding::Estimator::appendNonNegativeInteger | ( | uint64_t | integer | ) |
Append non-negative integer integer
of NDN TLV encoding.
Definition at line 98 of file estimator.cpp.
References prependNonNegativeInteger().
size_t ndn::encoding::Estimator::prependByteArrayBlock | ( | uint32_t | type, |
const uint8_t * | array, | ||
size_t | arraySize | ||
) |
Prepend TLV block of type type
and value from buffer array
of size arraySize
.
Definition at line 105 of file estimator.cpp.
References prependVarNumber().
Referenced by appendByteArrayBlock(), ndn::encoding::makeBinaryBlock(), and prependBlock().
size_t ndn::encoding::Estimator::appendByteArrayBlock | ( | uint32_t | type, |
const uint8_t * | array, | ||
size_t | arraySize | ||
) |
Append TLV block of type type
and value from buffer array
of size arraySize
.
Definition at line 115 of file estimator.cpp.
References prependByteArrayBlock().
size_t ndn::encoding::Estimator::prependBlock | ( | const Block & | block | ) |
Prepend TLV block block
.
Definition at line 122 of file estimator.cpp.
References ndn::Block::hasWire(), prependByteArrayBlock(), ndn::Block::size(), ndn::Block::type(), ndn::Block::value(), and ndn::Block::value_size().
Referenced by appendBlock().
size_t ndn::encoding::Estimator::appendBlock | ( | const Block & | block | ) |