JSON RPC
JSON-RPC 2.0 library for C++
|
Contains the implementation details of the JSON RPC library. More...
Classes | |
struct | function_traits |
Primary template for function traits. More... | |
struct | function_traits< R(*)(Args...) noexcept > |
Specialization for noexcept function pointers. More... | |
struct | function_traits< R(*)(Args...)> |
Specialization for function pointers. More... | |
struct | function_traits< R(C::*)(Args...) const > |
Specialization for const member function pointers. More... | |
struct | function_traits< R(C::*)(Args...) const noexcept > |
Specialization for const noexcept member function pointers. More... | |
struct | function_traits< R(C::*)(Args...) const volatile > |
Specialization for const volatile member function pointers. More... | |
struct | function_traits< R(C::*)(Args...) const volatile noexcept > |
Specialization for const volatile noexcept member function pointers. More... | |
struct | function_traits< R(C::*)(Args...) noexcept > |
Specialization for noexcept member function pointers. More... | |
struct | function_traits< R(C::*)(Args...) volatile > |
Specialization for volatile member function pointers. More... | |
struct | function_traits< R(C::*)(Args...) volatile noexcept > |
Specialization for volatile noexcept member function pointers. More... | |
struct | function_traits< R(C::*)(Args...)> |
Specialization for member function pointers. More... | |
struct | function_traits< std::function< R(Args...)> > |
Specialization for std::function . More... | |
struct | offset_sequence |
Template for creating an offset sequence. More... | |
struct | offset_sequence< N, std::index_sequence< Ints... > > |
Specialization for creating an offset sequence. More... | |
Typedefs | |
template<std::size_t N, typename Seq > | |
using | offset_sequence_t = typename offset_sequence<N, Seq>::type |
Alias template for creating an offset sequence. | |
template<std::size_t I, typename A > | |
using | tuple_element = std::decay_t<std::tuple_element_t<I, A>> |
Type alias for a tuple element with decay applied. | |
Functions | |
template<typename Extra , typename Args , std::size_t... Indices> | |
constexpr auto | convert_args (const nlohmann::json ¶ms, std::index_sequence< Indices... >) |
Converts JSON parameters to a tuple of arguments based on the specified types. | |
template<typename F , typename Tuple > | |
nlohmann::json | invoke_function (F &&f, Tuple &&tuple) |
Invokes a function with the provided arguments handling void return type. | |
template<typename Extra > | |
constexpr auto | make_extra_tuple (const nlohmann::json &extra) |
Creates a tuple from the provided JSON object based on the type of Extra. | |
template<typename C > requires (std::is_class_v<std::remove_pointer_t<C>> || std::is_null_pointer_v<C>) | |
constexpr auto | make_inst_tuple (C inst) |
Creates a tuple containing the instance if it is a class pointer, or an empty tuple if it is a null pointer. | |
Contains the implementation details of the JSON RPC library.