xrpld
Loading...
Searching...
No Matches
xrpl::STObject::ValueProxy< T > Class Template Reference

#include <STObject.h>

Inheritance diagram for xrpl::STObject::ValueProxy< T >:
Collaboration diagram for xrpl::STObject::ValueProxy< T >:

Public Member Functions

 ValueProxy (ValueProxy const &)=default
ValueProxyoperator= (ValueProxy const &)=delete
template<class U>
std::enable_if_t< std::is_assignable_v< T, U >, ValueProxy & > operator= (U &&u)
template<IsArithmetic U>
ValueProxyoperator+= (U const &u)
template<IsArithmetic U>
ValueProxyoperator-= (U const &u)
 operator value_type () const
template<class U>
std::enable_if_t< std::is_assignable_v< T, U >, STObject::ValueProxy< T > & > operator= (U &&u)
template<IsArithmetic U>
STObject::ValueProxy< T > & operator+= (U const &u)
template<IsArithmetic U>
STObject::ValueProxy< T > & operator-= (U const &u)
value_type value () const
value_type operator* () const
T const * operator-> () const
 Do not use operator->() unless the field is required, or you've checked that it's set.

Protected Member Functions

T const * find () const
template<class U>
void assign (U &&u)

Protected Attributes

STObjectst_
SOEStyle style_
TypedField< T > const * f_

Private Types

using value_type = T::value_type

Private Member Functions

 ValueProxy (STObject *st, TypedField< T > const *f)

Friends

class STObject
template<typename U>
bool operator== (U const &lhs, STObject::ValueProxy< T > const &rhs)

Detailed Description

template<class T>
class xrpl::STObject::ValueProxy< T >

Definition at line 531 of file STObject.h.

Member Typedef Documentation

◆ value_type

template<class T>
using xrpl::STObject::ValueProxy< T >::value_type = T::value_type
private

Definition at line 534 of file STObject.h.

Constructor & Destructor Documentation

◆ ValueProxy() [1/2]

template<class T>
xrpl::STObject::ValueProxy< T >::ValueProxy ( ValueProxy< T > const & )
default

◆ ValueProxy() [2/2]

template<class T>
xrpl::STObject::ValueProxy< T >::ValueProxy ( STObject * st,
TypedField< T > const * f )
private

Definition at line 819 of file STObject.h.

Member Function Documentation

◆ operator=() [1/3]

template<class T>
ValueProxy & xrpl::STObject::ValueProxy< T >::operator= ( ValueProxy< T > const & )
delete

◆ operator=() [2/3]

template<class T>
template<class U>
std::enable_if_t< std::is_assignable_v< T, U >, ValueProxy & > xrpl::STObject::ValueProxy< T >::operator= ( U && u)

◆ operator+=() [1/2]

template<class T>
template<IsArithmetic U>
ValueProxy & xrpl::STObject::ValueProxy< T >::operator+= ( U const & u)

◆ operator-=() [1/2]

template<class T>
template<IsArithmetic U>
ValueProxy & xrpl::STObject::ValueProxy< T >::operator-= ( U const & u)

◆ operator value_type()

template<class T>
xrpl::STObject::ValueProxy< T >::operator value_type ( ) const

Definition at line 812 of file STObject.h.

◆ operator=() [3/3]

template<class T>
template<class U>
std::enable_if_t< std::is_assignable_v< T, U >, STObject::ValueProxy< T > & > xrpl::STObject::ValueProxy< T >::operator= ( U && u)

Definition at line 785 of file STObject.h.

◆ operator+=() [2/2]

template<class T>
template<IsArithmetic U>
STObject::ValueProxy< T > & xrpl::STObject::ValueProxy< T >::operator+= ( U const & u)

Definition at line 795 of file STObject.h.

◆ operator-=() [2/2]

template<class T>
template<IsArithmetic U>
STObject::ValueProxy< T > & xrpl::STObject::ValueProxy< T >::operator-= ( U const & u)

Definition at line 805 of file STObject.h.

◆ value()

template<class T>
auto xrpl::STObject::Proxy< T >::value ( ) const
nodiscardinherited

Definition at line 718 of file STObject.h.

◆ operator*()

template<class T>
auto xrpl::STObject::Proxy< T >::operator* ( ) const
inherited

Definition at line 736 of file STObject.h.

◆ operator->()

template<class T>
T const * xrpl::STObject::Proxy< T >::operator-> ( ) const
inherited

Do not use operator->() unless the field is required, or you've checked that it's set.

Definition at line 745 of file STObject.h.

◆ find()

template<class T>
T const * xrpl::STObject::Proxy< T >::find ( ) const
nodiscardprotectedinherited

Definition at line 752 of file STObject.h.

◆ assign()

template<class T>
template<class U>
void xrpl::STObject::Proxy< T >::assign ( U && u)
protectedinherited

Definition at line 760 of file STObject.h.

◆ STObject

template<class T>
friend class STObject
friend

Definition at line 567 of file STObject.h.

◆ operator==

template<class T>
template<typename U>
bool operator== ( U const & lhs,
STObject::ValueProxy< T > const & rhs )
friend

Definition at line 561 of file STObject.h.

Member Data Documentation

◆ st_

template<class T>
STObject* xrpl::STObject::Proxy< T >::st_
protectedinherited

Definition at line 495 of file STObject.h.

◆ style_

template<class T>
SOEStyle xrpl::STObject::Proxy< T >::style_
protectedinherited

Definition at line 496 of file STObject.h.

◆ f_

template<class T>
TypedField<T> const* xrpl::STObject::Proxy< T >::f_
protectedinherited

Definition at line 497 of file STObject.h.