A Discrete-Event Network Simulator
API
nlohmann::byte_container_with_subtype< BinaryType > Class Template Reference

an internal type for a backed binary type More...

#include "json.h"

+ Inheritance diagram for nlohmann::byte_container_with_subtype< BinaryType >:
+ Collaboration diagram for nlohmann::byte_container_with_subtype< BinaryType >:

Public Types

using container_type = BinaryType
 the type of the underlying container More...
 

Public Member Functions

 byte_container_with_subtype () noexcept(noexcept(container_type()))
 
 byte_container_with_subtype (const container_type &b) noexcept(noexcept(container_type(b)))
 
 byte_container_with_subtype (const container_type &b, std::uint8_t subtype) noexcept(noexcept(container_type(b)))
 
 byte_container_with_subtype (container_type &&b) noexcept(noexcept(container_type(std::move(b))))
 
 byte_container_with_subtype (container_type &&b, std::uint8_t subtype) noexcept(noexcept(container_type(std::move(b))))
 
void clear_subtype () noexcept
 clears the binary subtype More...
 
constexpr bool has_subtype () const noexcept
 return whether the value has a subtype More...
 
bool operator!= (const byte_container_with_subtype &rhs) const
 
bool operator== (const byte_container_with_subtype &rhs) const
 
void set_subtype (std::uint8_t subtype) noexcept
 sets the binary subtype More...
 
constexpr std::uint8_t subtype () const noexcept
 return the binary subtype More...
 

Private Attributes

bool m_has_subtype = false
 
std::uint8_t m_subtype = 0
 

Detailed Description

template<typename BinaryType>
class nlohmann::byte_container_with_subtype< BinaryType >

an internal type for a backed binary type

This type extends the template parameter BinaryType provided to basic_json with a subtype used by BSON and MessagePack. This type exists so that the user does not have to specify a type themselves with a specific naming scheme in order to override the binary type.

Template Parameters
BinaryTypecontainer to store bytes (std::vector<std::uint8_t> by default)
Since
version 3.8.0

Definition at line 4500 of file json.h.

Member Typedef Documentation

◆ container_type

template<typename BinaryType >
using nlohmann::byte_container_with_subtype< BinaryType >::container_type = BinaryType

the type of the underlying container

Definition at line 4504 of file json.h.

Constructor & Destructor Documentation

◆ byte_container_with_subtype() [1/5]

template<typename BinaryType >
nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype ( )
inlinenoexcept

Definition at line 4506 of file json.h.

◆ byte_container_with_subtype() [2/5]

template<typename BinaryType >
nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype ( const container_type b)
inlinenoexcept

Definition at line 4510 of file json.h.

◆ byte_container_with_subtype() [3/5]

template<typename BinaryType >
nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype ( container_type &&  b)
inlinenoexcept

Definition at line 4514 of file json.h.

◆ byte_container_with_subtype() [4/5]

template<typename BinaryType >
nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype ( const container_type b,
std::uint8_t  subtype 
)
inlinenoexcept

Definition at line 4518 of file json.h.

◆ byte_container_with_subtype() [5/5]

template<typename BinaryType >
nlohmann::byte_container_with_subtype< BinaryType >::byte_container_with_subtype ( container_type &&  b,
std::uint8_t  subtype 
)
inlinenoexcept

Definition at line 4524 of file json.h.

Member Function Documentation

◆ clear_subtype()

template<typename BinaryType >
void nlohmann::byte_container_with_subtype< BinaryType >::clear_subtype ( )
inlinenoexcept

clears the binary subtype

Clears the binary subtype and flags the value as not having a subtype, which has implications for serialization; for instance MessagePack will prefer the bin family over the ext family.

@complexity Constant.

@exceptionsafety No-throw guarantee: this member function never throws exceptions.

See also
subtype() – return the binary subtype
set_subtype() – sets the binary subtype
has_subtype() – returns whether or not the binary value has a subtype
Since
version 3.8.0

Definition at line 4631 of file json.h.

References nlohmann::byte_container_with_subtype< BinaryType >::m_has_subtype, and nlohmann::byte_container_with_subtype< BinaryType >::m_subtype.

◆ has_subtype()

template<typename BinaryType >
constexpr bool nlohmann::byte_container_with_subtype< BinaryType >::has_subtype ( ) const
inlineconstexprnoexcept

return whether the value has a subtype

Returns
whether the value has a subtype

@complexity Constant.

@exceptionsafety No-throw guarantee: this member function never throws exceptions.

See also
subtype() – return the binary subtype
set_subtype() – sets the binary subtype
clear_subtype() – clears the binary subtype
Since
version 3.8.0

Definition at line 4607 of file json.h.

References nlohmann::byte_container_with_subtype< BinaryType >::m_has_subtype.

◆ operator!=()

template<typename BinaryType >
bool nlohmann::byte_container_with_subtype< BinaryType >::operator!= ( const byte_container_with_subtype< BinaryType > &  rhs) const
inline

Definition at line 4536 of file json.h.

◆ operator==()

◆ set_subtype()

template<typename BinaryType >
void nlohmann::byte_container_with_subtype< BinaryType >::set_subtype ( std::uint8_t  subtype)
inlinenoexcept

sets the binary subtype

Sets the binary subtype of the value, also flags a binary JSON value as having a subtype, which has implications for serialization.

@complexity Constant.

@exceptionsafety No-throw guarantee: this member function never throws exceptions.

See also
subtype() – return the binary subtype
clear_subtype() – clears the binary subtype
has_subtype() – returns whether or not the binary value has a subtype
Since
version 3.8.0

Definition at line 4559 of file json.h.

References nlohmann::byte_container_with_subtype< BinaryType >::m_has_subtype, nlohmann::byte_container_with_subtype< BinaryType >::m_subtype, and nlohmann::byte_container_with_subtype< BinaryType >::subtype().

+ Here is the call graph for this function:

◆ subtype()

template<typename BinaryType >
constexpr std::uint8_t nlohmann::byte_container_with_subtype< BinaryType >::subtype ( ) const
inlineconstexprnoexcept

return the binary subtype

Returns the numerical subtype of the value if it has a subtype. If it does not have a subtype, this function will return size_t(-1) as a sentinel value.

Returns
the numerical subtype of the binary value

@complexity Constant.

@exceptionsafety No-throw guarantee: this member function never throws exceptions.

See also
set_subtype() – sets the binary subtype
clear_subtype() – clears the binary subtype
has_subtype() – returns whether or not the binary value has a subtype
Since
version 3.8.0

Definition at line 4586 of file json.h.

References nlohmann::byte_container_with_subtype< BinaryType >::m_subtype.

Referenced by nlohmann::byte_container_with_subtype< BinaryType >::set_subtype().

+ Here is the caller graph for this function:

Member Data Documentation

◆ m_has_subtype

◆ m_subtype


The documentation for this class was generated from the following file: