|
| template<typename... E> |
| static bool | decode (const Decoder::Tlv &input, std::initializer_list< uint32_t > topTypes, const E &... defs) |
| | Decode input TLV with a sequence of element definitions.
|
| |
| template<typename... E> |
| static bool | decodeValue (const Decoder &input, const E &... defs) |
| | Decode input TLV-VALUE with a sequence of element definitions.
|
| |
| template<typename UnknownCallback , typename IsCritical , typename... E> |
| static bool | decodeEx (const Decoder::Tlv &input, std::initializer_list< uint32_t > topTypes, const UnknownCallback &unknownCb, const IsCritical &isCritical, const E &... defs) |
| | Decode input TLV with a sequence of element definitions.
|
| |
| template<typename UnknownCallback , typename IsCritical , typename... E> |
| static bool | decodeValueEx (const Decoder &input, const UnknownCallback &unknownCb, const IsCritical &isCritical, const E &... defs) |
| | Decode input TLV-VALUE with a sequence of element definitions.
|
| |
| template<int type, bool repeatable = false, int order = 0, typename Fn = void, typename R = detail::EvdElementDefFn<type, repeatable, order, Fn>> |
| static R | def (const Fn &f, decltype(&Fn::operator())=nullptr) |
| | Create an element definition.
|
| |
| template<int type, bool repeatable = false, int order = 0, typename Decodable = void, typename R = detail::EvdElementDefDecodable<type, repeatable, order, Decodable>> |
| static R | def (Decodable *decodable, decltype(&Decodable::decodeFrom)=nullptr) |
| | Create an element definition.
|
| |
| template<int type, bool repeatable = false, int order = 0, typename R = detail::EvdElementDefIgnore<type, repeatable, order>> |
| static R | defIgnore () |
| | Create an element definition to ignore a field.
|
| |
| template<int type, typename NniClass = tlv::NNI, int order = 0, typename ValueType = void, typename R = detail::EvdElementDefNni<type, order, NniClass, ValueType>> |
| static R | defNni (ValueType *value) |
| | Create an element definition for Non-Negative Integer field.
|
| |
TLV decoder that understands Packet Format v0.3 evolvability guidelines.
template<int type, bool repeatable = false, int order = 0, typename Fn = void, typename R = detail::EvdElementDefFn<type, repeatable, order, Fn>>
| static R ndnph::EvDecoder::def |
( |
const Fn & |
f, |
|
|
decltype(&::operator |
|
|
) |
| |
|
inlinestatic |
Create an element definition.
- Template Parameters
-
| type | TLV-TYPE number. |
| repeatable | whether the TLV can be repeated. |
| order | customized order number. Elements must appear in the TLV-VALUE in a certain order. By default, the order of defs passed to decode() determines the expected order. This parameter allows overriding the default order. |
| Fn | `bool (*)(const Decoder::Tlv&)` or `void (*)(const Decoder::Tlv&)` |
- Parameters
-
| f | function to process TLV element. |
template<int type, bool repeatable = false, int order = 0, typename Decodable = void, typename R = detail::EvdElementDefDecodable<type, repeatable, order, Decodable>>
| static R ndnph::EvDecoder::def |
( |
Decodable * |
decodable, |
|
|
decltype &::decodeFrom |
= nullptr |
|
) |
| |
|
inlinestatic |
Create an element definition.
- Template Parameters
-
| Decodable | class with `bool decodeFrom(const Decoder::Tlv&)` method. |
template<int type, bool repeatable = false, int order = 0, typename R = detail::EvdElementDefIgnore<type, repeatable, order>>
| static R ndnph::EvDecoder::defIgnore |
( |
| ) |
|
|
inlinestatic |
Create an element definition to ignore a field.
template<int type, typename NniClass = tlv::NNI, int order = 0, typename ValueType = void, typename R = detail::EvdElementDefNni<type, order, NniClass, ValueType>>
| static R ndnph::EvDecoder::defNni |
( |
ValueType * |
value | ) |
|
|
inlinestatic |
Create an element definition for Non-Negative Integer field.
- Template Parameters
-
| NniClass | either tlv::NNI or a fixed-length variant. |