rippled
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ripple::detail::MultiApiJson< MinVer, MaxVer > Struct Template Reference

#include <MultiApiJson.h>

Collaboration diagram for ripple::detail::MultiApiJson< MinVer, MaxVer >:
Collaboration graph
[legend]

Classes

struct  visitor_t
 

Public Types

enum  IsMemberResult : int { none = 0 , some , all }
 

Public Member Functions

 MultiApiJson (Json::Value const &init={})
 
void set (char const *key, auto const &v)
 
IsMemberResult isMember (char const *key) const
 
auto visit ()
 
auto visit () const
 
template<typename... Args>
auto visit (Args... args) -> std::invoke_result_t< visitor_t, MultiApiJson &, Args... > requires(sizeof...(args) > 0) &&
 
template<typename... Args>
auto visit (Args... args) const -> std::invoke_result_t< visitor_t, MultiApiJson const &, Args... > requires(sizeof...(args) > 0) &&
 

Static Public Member Functions

static constexpr auto valid (unsigned int v) noexcept -> bool
 
static constexpr auto index (unsigned int v) noexcept -> std::size_t
 

Public Attributes

std::array< Json::Value, sizeval = {}
 

Static Public Attributes

static constexpr std::size_t size = MaxVer + 1 - MinVer
 
static constexpr struct ripple::detail::MultiApiJson::visitor_t visitor = {}
 

Detailed Description

template<unsigned MinVer, unsigned MaxVer>
struct ripple::detail::MultiApiJson< MinVer, MaxVer >

Definition at line 54 of file MultiApiJson.h.

Member Enumeration Documentation

◆ IsMemberResult

template<unsigned MinVer, unsigned MaxVer>
enum ripple::detail::MultiApiJson::IsMemberResult : int
Enumerator
none 
some 
all 

Definition at line 90 of file MultiApiJson.h.

Constructor & Destructor Documentation

◆ MultiApiJson()

template<unsigned MinVer, unsigned MaxVer>
ripple::detail::MultiApiJson< MinVer, MaxVer >::MultiApiJson ( Json::Value const &  init = {})
explicit

Definition at line 73 of file MultiApiJson.h.

Member Function Documentation

◆ valid()

template<unsigned MinVer, unsigned MaxVer>
static constexpr auto ripple::detail::MultiApiJson< MinVer, MaxVer >::valid ( unsigned int  v) -> bool
staticconstexprnoexcept

Definition at line 59 of file MultiApiJson.h.

◆ index()

template<unsigned MinVer, unsigned MaxVer>
static constexpr auto ripple::detail::MultiApiJson< MinVer, MaxVer >::index ( unsigned int  v) -> std::size_t
staticconstexprnoexcept

Definition at line 65 of file MultiApiJson.h.

◆ set()

template<unsigned MinVer, unsigned MaxVer>
void ripple::detail::MultiApiJson< MinVer, MaxVer >::set ( char const *  key,
auto const &  v 
)

Definition at line 82 of file MultiApiJson.h.

◆ isMember()

template<unsigned MinVer, unsigned MaxVer>
IsMemberResult ripple::detail::MultiApiJson< MinVer, MaxVer >::isMember ( char const *  key) const

Definition at line 93 of file MultiApiJson.h.

◆ visit() [1/4]

template<unsigned MinVer, unsigned MaxVer>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visit ( )

Definition at line 189 of file MultiApiJson.h.

◆ visit() [2/4]

template<unsigned MinVer, unsigned MaxVer>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visit ( ) const

Definition at line 201 of file MultiApiJson.h.

◆ visit() [3/4]

template<unsigned MinVer, unsigned MaxVer>
template<typename... Args>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visit ( Args...  args) -> std::invoke_result_t<visitor_t, MultiApiJson&, Args...> requires(sizeof...(args) > 0) &&

Definition at line 214 of file MultiApiJson.h.

◆ visit() [4/4]

template<unsigned MinVer, unsigned MaxVer>
template<typename... Args>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visit ( Args...  args) const -> std::invoke_result_t<visitor_t, MultiApiJson const&, Args...> requires(sizeof...(args) > 0) &&

Definition at line 224 of file MultiApiJson.h.

Member Data Documentation

◆ size

template<unsigned MinVer, unsigned MaxVer>
constexpr std::size_t ripple::detail::MultiApiJson< MinVer, MaxVer >::size = MaxVer + 1 - MinVer
staticconstexpr

Definition at line 70 of file MultiApiJson.h.

◆ val

template<unsigned MinVer, unsigned MaxVer>
std::array<Json::Value, size> ripple::detail::MultiApiJson< MinVer, MaxVer >::val = {}

Definition at line 71 of file MultiApiJson.h.

◆ visitor

template<unsigned MinVer, unsigned MaxVer>
constexpr struct ripple::detail::MultiApiJson::visitor_t ripple::detail::MultiApiJson< MinVer, MaxVer >::visitor = {}
static