ndn::encoding::Estimator Class Reference

Helper class to estimate size of TLV encoding. More...

#include <ndn-cxx/encoding/estimator.hpp>

+ Inheritance diagram for ndn::encoding::Estimator:
+ Collaboration diagram for ndn::encoding::Estimator:

Public Member Functions

constexpr size_t appendBytes (span< const uint8_t > bytes) const noexcept
 Append a sequence of bytes. More...
 
constexpr size_t appendNonNegativeInteger (uint64_t n) const noexcept
 Append n in NonNegativeInteger encoding. More...
 
template<class Iterator >
constexpr size_t appendRange (Iterator first, Iterator last) const noexcept
 Append bytes from the range [first, last) More...
 
constexpr size_t appendVarNumber (uint64_t n) const noexcept
 Append n in VarNumber encoding. More...
 
constexpr size_t prependBytes (span< const uint8_t > bytes) const noexcept
 Prepend a sequence of bytes. More...
 
constexpr size_t prependNonNegativeInteger (uint64_t n) const noexcept
 Prepend n in NonNegativeInteger encoding. More...
 
template<class Iterator >
constexpr size_t prependRange (Iterator first, Iterator last) const noexcept
 Prepend bytes from the range [first, last) More...
 
constexpr size_t prependVarNumber (uint64_t n) const noexcept
 Prepend n in VarNumber encoding. More...
 

Detailed Description

Helper class to estimate size of TLV encoding.

The interface of this class (mostly) matches that of the Encoder class.

See also
Encoder

Definition at line 37 of file estimator.hpp.

Member Function Documentation

◆ appendBytes()

constexpr size_t ndn::encoding::Estimator::appendBytes ( span< const uint8_t >  bytes) const
inlineconstexprnoexcept

Append a sequence of bytes.

Definition at line 53 of file estimator.hpp.

◆ appendNonNegativeInteger()

constexpr size_t ndn::encoding::Estimator::appendNonNegativeInteger ( uint64_t  n) const
inlineconstexprnoexcept

Append n in NonNegativeInteger encoding.

Definition at line 109 of file estimator.hpp.

◆ appendRange()

template<class Iterator >
constexpr size_t ndn::encoding::Estimator::appendRange ( Iterator  first,
Iterator  last 
) const
inlineconstexprnoexcept

Append bytes from the range [first, last)

Definition at line 73 of file estimator.hpp.

◆ appendVarNumber()

constexpr size_t ndn::encoding::Estimator::appendVarNumber ( uint64_t  n) const
inlineconstexprnoexcept

Append n in VarNumber encoding.

Definition at line 91 of file estimator.hpp.

◆ prependBytes()

constexpr size_t ndn::encoding::Estimator::prependBytes ( span< const uint8_t >  bytes) const
inlineconstexprnoexcept

Prepend a sequence of bytes.

Definition at line 44 of file estimator.hpp.

◆ prependNonNegativeInteger()

constexpr size_t ndn::encoding::Estimator::prependNonNegativeInteger ( uint64_t  n) const
inlineconstexprnoexcept

Prepend n in NonNegativeInteger encoding.

Definition at line 100 of file estimator.hpp.

◆ prependRange()

template<class Iterator >
constexpr size_t ndn::encoding::Estimator::prependRange ( Iterator  first,
Iterator  last 
) const
inlineconstexprnoexcept

Prepend bytes from the range [first, last)

Definition at line 63 of file estimator.hpp.

◆ prependVarNumber()

constexpr size_t ndn::encoding::Estimator::prependVarNumber ( uint64_t  n) const
inlineconstexprnoexcept

Prepend n in VarNumber encoding.

Definition at line 82 of file estimator.hpp.