hyperledger/iroha
Iroha - A simple, decentralized ledger http://iroha.tech
shared_model::detail::ReferenceHolder< T > Class Template Reference

#include "reference_holder.hpp"

Collaboration diagram for shared_model::detail::ReferenceHolder< T >:
Collaboration graph

Public Types

using ReferenceType = typename std::add_lvalue_reference_t< T >
 
using PointerType = typename std::add_pointer_t< T >
 
using ConstReferenceType = typename std::add_lvalue_reference_t< const T >
 
using ConstPointerType = typename std::add_pointer_t< const T >
 

Public Member Functions

template<typename V >
 ReferenceHolder (V &&value)
 
ReferenceType operator* ()
 
PointerType operator-> ()
 
PointerType ptr ()
 
ConstReferenceType operator* () const
 
ConstPointerType operator-> () const
 
ConstPointerType ptr () const
 

Detailed Description

template<typename T>
class shared_model::detail::ReferenceHolder< T >

Container designed to store reference or value depending on called ctor

Template Parameters
Ttype of stored value

Member Typedef Documentation

template<typename T>
using shared_model::detail::ReferenceHolder< T >::ConstPointerType = typename std::add_pointer_t<const T>
template<typename T>
using shared_model::detail::ReferenceHolder< T >::ConstReferenceType = typename std::add_lvalue_reference_t<const T>
template<typename T>
using shared_model::detail::ReferenceHolder< T >::PointerType = typename std::add_pointer_t<T>
template<typename T>
using shared_model::detail::ReferenceHolder< T >::ReferenceType = typename std::add_lvalue_reference_t<T>

Constructor & Destructor Documentation

template<typename T>
template<typename V >
shared_model::detail::ReferenceHolder< T >::ReferenceHolder ( V &&  value)
inlineexplicit

Member Function Documentation

template<typename T>
ReferenceType shared_model::detail::ReferenceHolder< T >::operator* ( )
inline
template<typename T>
ConstReferenceType shared_model::detail::ReferenceHolder< T >::operator* ( ) const
inline
template<typename T>
PointerType shared_model::detail::ReferenceHolder< T >::operator-> ( )
inline
template<typename T>
ConstPointerType shared_model::detail::ReferenceHolder< T >::operator-> ( ) const
inline
template<typename T>
PointerType shared_model::detail::ReferenceHolder< T >::ptr ( )
inline

Here is the caller graph for this function:

template<typename T>
ConstPointerType shared_model::detail::ReferenceHolder< T >::ptr ( ) const
inline

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