rippled
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ripple::detail::MultiApiJson< MinVer, MaxVer >::visitor_t Struct Referencefinal

#include <MultiApiJson.h>

Public Member Functions

template<typename Json , unsigned int Version, typename... Args, typename Fn >
requires std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto operator() (Json &json, std::integral_constant< unsigned int, Version > const version, Fn fn, Args &&... args) const -> std::invoke_result_t< Fn, decltype(json.val[0]), std::integral_constant< unsigned int, Version >, Args &&... >
 
template<typename Json , unsigned int Version, typename Fn >
requires std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto operator() (Json &json, std::integral_constant< unsigned int, Version > const, Fn fn) const -> std::invoke_result_t< Fn, decltype(json.val[0])>
 
template<typename Json , typename Version , typename... Args, typename Fn >
requires (!some_integral_constant<Version>) && std::convertible_to<Version, unsigned> && std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto operator() (Json &json, Version version, Fn fn, Args &&... args) const -> std::invoke_result_t< Fn, decltype(json.val[0]), Version, Args &&... >
 
template<typename Json , typename Version , typename Fn >
requires (!some_integral_constant<Version>) && std::convertible_to<Version, unsigned> && std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto operator() (Json &json, Version version, Fn fn) const -> std::invoke_result_t< Fn, decltype(json.val[0])>
 

Detailed Description

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

Definition at line 84 of file MultiApiJson.h.

Member Function Documentation

◆ operator()() [1/4]

template<unsigned MinVer, unsigned MaxVer>
template<typename Json , unsigned int Version, typename... Args, typename Fn >
requires std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visitor_t::operator() ( Json &  json,
std::integral_constant< unsigned int, Version > const  version,
Fn  fn,
Args &&...  args 
) const -> std::invoke_result_t< Fn, decltype(json.val[0]), std::integral_constant<unsigned int, Version>, Args&&...>

Definition at line 94 of file MultiApiJson.h.

◆ operator()() [2/4]

template<unsigned MinVer, unsigned MaxVer>
template<typename Json , unsigned int Version, typename Fn >
requires std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visitor_t::operator() ( Json &  json,
std::integral_constant< unsigned int, Version > const  ,
Fn  fn 
) const -> std::invoke_result_t<Fn, decltype(json.val[0])>

Definition at line 118 of file MultiApiJson.h.

◆ operator()() [3/4]

template<unsigned MinVer, unsigned MaxVer>
template<typename Json , typename Version , typename... Args, typename Fn >
requires (!some_integral_constant<Version>) && std::convertible_to<Version, unsigned> && std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visitor_t::operator() ( Json &  json,
Version  version,
Fn  fn,
Args &&...  args 
) const -> std:: invoke_result_t<Fn, decltype(json.val[0]), Version, Args&&...>

Definition at line 138 of file MultiApiJson.h.

◆ operator()() [4/4]

template<unsigned MinVer, unsigned MaxVer>
template<typename Json , typename Version , typename Fn >
requires (!some_integral_constant<Version>) && std::convertible_to<Version, unsigned> && std::same_as<std::remove_cvref_t<Json>, MultiApiJson>
auto ripple::detail::MultiApiJson< MinVer, MaxVer >::visitor_t::operator() ( Json &  json,
Version  version,
Fn  fn 
) const -> std::invoke_result_t<Fn, decltype(json.val[0])>

Definition at line 159 of file MultiApiJson.h.