Bitcoin Core 29.99.0
P2P Digital Currency
Public Member Functions | Public Attributes | List of all members
mp::StructField< Accessor, Struct > Struct Template Reference

#include <proxy-types.h>

Public Member Functions

template<typename S >
 StructField (S &struct_)
 
template<typename A = Accessor>
auto get () const -> decltype(A::get(this->m_struct))
 
template<typename A = Accessor>
auto has () const -> std::enable_if_t< A::optional, bool >
 
template<typename A = Accessor>
auto has () const -> std::enable_if_t<!A::optional &&A::boxed, bool >
 
template<typename A = Accessor>
auto has () const -> std::enable_if_t<!A::optional &&!A::boxed, bool >
 
template<typename A = Accessor>
auto want () const -> std::enable_if_t< A::requested, bool >
 
template<typename A = Accessor>
auto want () const -> std::enable_if_t<!A::requested, bool >
 
template<typename A = Accessor, typename... Args>
decltype(auto) set (Args &&... args) const
 
template<typename A = Accessor, typename... Args>
decltype(auto) init (Args &&... args) const
 
template<typename A = Accessor>
auto setHas () const -> std::enable_if_t< A::optional >
 
template<typename A = Accessor>
auto setHas () const -> std::enable_if_t<!A::optional >
 
template<typename A = Accessor>
auto setWant () const -> std::enable_if_t< A::requested >
 
template<typename A = Accessor>
auto setWant () const -> std::enable_if_t<!A::requested >
 

Public Attributes

Struct & m_struct
 

Detailed Description

template<typename Accessor, typename Struct>
struct mp::StructField< Accessor, Struct >

Definition at line 32 of file proxy-types.h.

Constructor & Destructor Documentation

◆ StructField()

template<typename Accessor , typename Struct >
template<typename S >
mp::StructField< Accessor, Struct >::StructField ( S struct_)
inline

Definition at line 35 of file proxy-types.h.

Member Function Documentation

◆ get()

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::get ( ) const -> decltype(A::get(this->m_struct))
inline

Definition at line 41 of file proxy-types.h.

◆ has() [1/3]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::has ( ) const -> std::enable_if_t<A::optional, bool>
inline

Definition at line 42 of file proxy-types.h.

Here is the caller graph for this function:

◆ has() [2/3]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::has ( ) const -> std::enable_if_t<!A::optional && !A::boxed, bool>
inline

Definition at line 44 of file proxy-types.h.

◆ has() [3/3]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::has ( ) const -> std::enable_if_t<!A::optional && A::boxed, bool>
inline

Definition at line 43 of file proxy-types.h.

◆ init()

template<typename Accessor , typename Struct >
template<typename A = Accessor, typename... Args>
decltype(auto) mp::StructField< Accessor, Struct >::init ( Args &&...  args) const
inline

Definition at line 48 of file proxy-types.h.

◆ set()

template<typename Accessor , typename Struct >
template<typename A = Accessor, typename... Args>
decltype(auto) mp::StructField< Accessor, Struct >::set ( Args &&...  args) const
inline

Definition at line 47 of file proxy-types.h.

◆ setHas() [1/2]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::setHas ( ) const -> std::enable_if_t<A::optional>
inline

Definition at line 49 of file proxy-types.h.

◆ setHas() [2/2]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::setHas ( ) const -> std::enable_if_t<!A::optional>
inline

Definition at line 50 of file proxy-types.h.

◆ setWant() [1/2]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::setWant ( ) const -> std::enable_if_t<A::requested>
inline

Definition at line 51 of file proxy-types.h.

◆ setWant() [2/2]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::setWant ( ) const -> std::enable_if_t<!A::requested>
inline

Definition at line 52 of file proxy-types.h.

◆ want() [1/2]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::want ( ) const -> std::enable_if_t<A::requested, bool>
inline

Definition at line 45 of file proxy-types.h.

◆ want() [2/2]

template<typename Accessor , typename Struct >
template<typename A = Accessor>
auto mp::StructField< Accessor, Struct >::want ( ) const -> std::enable_if_t<!A::requested, bool>
inline

Definition at line 46 of file proxy-types.h.

Member Data Documentation

◆ m_struct

template<typename Accessor , typename Struct >
Struct& mp::StructField< Accessor, Struct >::m_struct

Definition at line 38 of file proxy-types.h.


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