GMP 0.4.0
Generative Metaprogramming library for C++
Loading...
Searching...
No Matches
gmp::serialization_value Class Reference

#include <value.hpp>

Public Types

using null_t = std::monostate
 
using array = std::vector< serialization_value >
 
using object = std::vector< std::pair< std::string, serialization_value > >
 
using storage = std::variant< null_t, bool, std::int64_t, std::uint64_t, double, std::string, array, object >
 

Public Member Functions

 serialization_value () noexcept=default
 
 serialization_value (std::nullptr_t) noexcept
 
 serialization_value (bool v) noexcept
 
template<std::integral I>
requires (!std::same_as<I, bool>)
 serialization_value (I v) noexcept
 
template<std::floating_point F>
requires (!std::same_as<F, double>)
 serialization_value (F v) noexcept
 
 serialization_value (std::int64_t v) noexcept
 
 serialization_value (std::uint64_t v) noexcept
 
 serialization_value (double v) noexcept
 
 serialization_value (std::string v)
 
 serialization_value (std::string_view v)
 
 serialization_value (const char *v)
 
 serialization_value (array v)
 
 serialization_value (object v)
 
template<typename T >
bool is () const noexcept
 
template<typename T >
T & get () &
 
template<typename T >
const T & get () const &
 
template<typename T >
T && get () &&
 
const storagedata () const noexcept
 
storagedata () noexcept
 
std::size_t source_offset () const noexcept
 
void source_offset (std::size_t v) noexcept
 

Detailed Description

Definition at line 28 of file value.hpp.

Member Typedef Documentation

◆ array

Definition at line 31 of file value.hpp.

◆ null_t

Definition at line 30 of file value.hpp.

◆ object

using gmp::serialization_value::object = std::vector<std::pair<std::string, serialization_value> >

Definition at line 32 of file value.hpp.

◆ storage

using gmp::serialization_value::storage = std::variant<null_t, bool, std::int64_t, std::uint64_t, double, std::string, array, object>

Definition at line 33 of file value.hpp.

Constructor & Destructor Documentation

◆ serialization_value() [1/13]

gmp::serialization_value::serialization_value ( )
defaultnoexcept

◆ serialization_value() [2/13]

gmp::serialization_value::serialization_value ( std::nullptr_t  )
inlinenoexcept

Definition at line 37 of file value.hpp.

◆ serialization_value() [3/13]

gmp::serialization_value::serialization_value ( bool  v)
inlinenoexcept

Definition at line 39 of file value.hpp.

◆ serialization_value() [4/13]

template<std::integral I>
requires (!std::same_as<I, bool>)
gmp::serialization_value::serialization_value ( I  v)
inlinenoexcept

Definition at line 43 of file value.hpp.

◆ serialization_value() [5/13]

template<std::floating_point F>
requires (!std::same_as<F, double>)
gmp::serialization_value::serialization_value ( F  v)
inlinenoexcept

Definition at line 48 of file value.hpp.

◆ serialization_value() [6/13]

gmp::serialization_value::serialization_value ( std::int64_t  v)
inlinenoexcept

Definition at line 50 of file value.hpp.

◆ serialization_value() [7/13]

gmp::serialization_value::serialization_value ( std::uint64_t  v)
inlinenoexcept

Definition at line 52 of file value.hpp.

◆ serialization_value() [8/13]

gmp::serialization_value::serialization_value ( double  v)
inlinenoexcept

Definition at line 54 of file value.hpp.

◆ serialization_value() [9/13]

gmp::serialization_value::serialization_value ( std::string  v)
inline

Definition at line 56 of file value.hpp.

◆ serialization_value() [10/13]

gmp::serialization_value::serialization_value ( std::string_view  v)
inline

Definition at line 58 of file value.hpp.

◆ serialization_value() [11/13]

gmp::serialization_value::serialization_value ( const char v)
inline

Definition at line 62 of file value.hpp.

◆ serialization_value() [12/13]

gmp::serialization_value::serialization_value ( array  v)
inline

Definition at line 64 of file value.hpp.

◆ serialization_value() [13/13]

gmp::serialization_value::serialization_value ( object  v)
inline

Definition at line 66 of file value.hpp.

Member Function Documentation

◆ data() [1/2]

const storage & gmp::serialization_value::data ( ) const
inlinenoexcept

Definition at line 84 of file value.hpp.

◆ data() [2/2]

storage & gmp::serialization_value::data ( )
inlinenoexcept

Definition at line 88 of file value.hpp.

◆ get() [1/3]

◆ get() [2/3]

template<typename T >
T && gmp::serialization_value::get ( ) &&
inline

Definition at line 80 of file value.hpp.

◆ get() [3/3]

template<typename T >
const T & gmp::serialization_value::get ( ) const &
inline

Definition at line 76 of file value.hpp.

◆ is()

template<typename T >
bool gmp::serialization_value::is ( ) const
inlinenoexcept

Definition at line 68 of file value.hpp.

Referenced by gmp::value_reader::kind(), and gmp::value_reader::size().

◆ source_offset() [1/2]

std::size_t gmp::serialization_value::source_offset ( ) const
inlinenoexcept

Definition at line 92 of file value.hpp.

◆ source_offset() [2/2]

void gmp::serialization_value::source_offset ( std::size_t  v)
inlinenoexcept

Definition at line 96 of file value.hpp.

References gmp::enum_values().


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