Attribute value reference implementation for a single type case. More...
#include <value_ref.hpp>
Public Types | |
typedef T | value_type |
Referenced value type. More... | |
typedef TagT | tag_type |
Tag type. More... | |
Public Member Functions | |
const value_type * | operator-> () const BOOST_NOEXCEPT |
Returns a pointer to the referred value. More... | |
const value_type * | get_ptr () const BOOST_NOEXCEPT |
Returns a pointer to the referred value. More... | |
template<typename U > | |
enable_if< is_compatible< U > , const U * >::type | get_ptr () const BOOST_NOEXCEPT |
Returns a pointer to the referred value. More... | |
value_type const & | operator* () const BOOST_NOEXCEPT |
Returns a reference to the value. More... | |
value_type const & | get () const BOOST_NOEXCEPT |
Returns a reference to the value. More... | |
template<typename U > | |
enable_if< is_compatible< U > , U const & >::type | get () const BOOST_NOEXCEPT |
Returns a reference to the value. More... | |
void | reset () BOOST_NOEXCEPT |
Resets the reference. More... | |
void | swap (singular_ref &that) BOOST_NOEXCEPT |
Swaps two reference wrappers. More... | |
template<typename VisitorT > | |
VisitorT::result_type | apply_visitor (VisitorT visitor) const |
Applies a visitor function object to the referred value. More... | |
template<typename VisitorT > | |
enable_if< is_void< typename VisitorT::result_type >, bool > ::type | apply_visitor_optional (VisitorT visitor) const |
Applies a visitor function object to the referred value. More... | |
template<typename VisitorT > | |
disable_if< is_void< typename VisitorT::result_type > , optional< typename VisitorT::result_type > >::type | apply_visitor_optional (VisitorT visitor) const |
Applies a visitor function object to the referred value. More... | |
template<typename VisitorT , typename DefaultT > | |
VisitorT::result_type | apply_visitor_or_default (VisitorT visitor, DefaultT &def_val) const |
Applies a visitor function object to the referred value or returns a default value. More... | |
template<typename VisitorT , typename DefaultT > | |
VisitorT::result_type | apply_visitor_or_default (VisitorT visitor, DefaultT const &def_val) const |
Applies a visitor function object to the referred value or returns a default value. More... | |
Static Public Member Functions | |
static BOOST_CONSTEXPR unsigned int | which () |
Returns the stored type index. More... | |
Protected Types | |
template<typename U > | |
using | is_compatible = is_same< U, value_type > |
The metafunction tests if the type is compatible with the reference wrapper. More... | |
Protected Member Functions | |
singular_ref () BOOST_NOEXCEPT | |
Default constructor. More... | |
singular_ref (const value_type *p) BOOST_NOEXCEPT | |
Initializing constructor. More... | |
Protected Attributes | |
const value_type * | m_ptr |
Pointer to the value. More... | |
Attribute value reference implementation for a single type case.
|
protected |
The metafunction tests if the type is compatible with the reference wrapper.
typedef TagT boost::aux::singular_ref< T, TagT >::tag_type |
Tag type.
typedef T boost::aux::singular_ref< T, TagT >::value_type |
Referenced value type.
|
inlineprotected |
Default constructor.
|
inlineexplicitprotected |
Initializing constructor.
|
inline |
Applies a visitor function object to the referred value.
References BOOST_ASSERT, and boost::visitor().
|
inline |
Applies a visitor function object to the referred value.
References boost::visitor().
|
inline |
Applies a visitor function object to the referred value.
References boost::visitor().
|
inline |
Applies a visitor function object to the referred value or returns a default value.
References boost::visitor().
|
inline |
Applies a visitor function object to the referred value or returns a default value.
References boost::visitor().
|
inline |
Returns a reference to the value.
References BOOST_ASSERT, and boost::aux::singular_ref< T, TagT >::m_ptr.
|
inline |
Returns a reference to the value.
References BOOST_ASSERT, and boost::aux::singular_ref< T, TagT >::m_ptr.
|
inline |
Returns a pointer to the referred value.
References boost::aux::singular_ref< T, TagT >::m_ptr.
|
inline |
Returns a pointer to the referred value.
References boost::aux::singular_ref< T, TagT >::m_ptr.
|
inline |
Returns a reference to the value.
References BOOST_ASSERT, and boost::aux::singular_ref< T, TagT >::m_ptr.
|
inline |
Returns a pointer to the referred value.
References BOOST_ASSERT, and boost::aux::singular_ref< T, TagT >::m_ptr.
|
inline |
Resets the reference.
|
inline |
Swaps two reference wrappers.
References boost::aux::singular_ref< T, TagT >::m_ptr, and boost::multiprecision::backends::p.
|
inlinestatic |
Returns the stored type index.
|
protected |