aimstil  5.0.5
til::const_value_proxy< TContainer, TIndex, AccessPolicy > Class Template Reference

The value_proxy is designed to provide a simple access to container values that are in fact complicated (e.g. More...

#include <til/value_proxy.h>

Inheritance diagram for til::const_value_proxy< TContainer, TIndex, AccessPolicy >:

Public Types

typedef const_value_proxy< TContainer, TIndex, AccessPolicy > Self
 
typedef value_type_of< TContainer >::type value_type
 
typedef TIndex index_type
 
typedef AccessPolicy::const_reference const_reference
 
typedef AccessPolicy::const_pointer const_pointer
 

Public Member Functions

 const_value_proxy (TIndex i, TContainer &container)
 
template<typename XContainer , typename XIndex , typename XAccessPolicy >
 const_value_proxy (const const_value_proxy< XContainer, XIndex, XAccessPolicy > &other)
 
const_pointer operator-> () const
 
 operator const_reference ()
 
boost::call_traits< TIndex >::const_reference index () const
 
boost::call_traits< TIndex >::reference index ()
 
TContainer & container ()
 
const TContainer & container () const
 

Detailed Description

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
class til::const_value_proxy< TContainer, TIndex, AccessPolicy >

The value_proxy is designed to provide a simple access to container values that are in fact complicated (e.g.

when data is compressed). The value proxy do not rely on standard access interface (e.g. operator[]) because they are designed precisely to help building them. Therefore they necessarily rely on a non-standard interface, namely get(index) and set(index, value) functions. This is just the default interface though – this can be changed to suit your needs through the AccessPolicy template parameter.

Definition at line 33 of file value_proxy.h.

Member Typedef Documentation

◆ const_pointer

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
typedef AccessPolicy::const_pointer til::const_value_proxy< TContainer, TIndex, AccessPolicy >::const_pointer

Definition at line 42 of file value_proxy.h.

◆ const_reference

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
typedef AccessPolicy::const_reference til::const_value_proxy< TContainer, TIndex, AccessPolicy >::const_reference

Definition at line 41 of file value_proxy.h.

◆ index_type

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
typedef TIndex til::const_value_proxy< TContainer, TIndex, AccessPolicy >::index_type

Definition at line 40 of file value_proxy.h.

◆ Self

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
typedef const_value_proxy<TContainer, TIndex, AccessPolicy> til::const_value_proxy< TContainer, TIndex, AccessPolicy >::Self

Definition at line 37 of file value_proxy.h.

◆ value_type

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
typedef value_type_of<TContainer>::type til::const_value_proxy< TContainer, TIndex, AccessPolicy >::value_type

Definition at line 39 of file value_proxy.h.

Constructor & Destructor Documentation

◆ const_value_proxy() [1/2]

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
til::const_value_proxy< TContainer, TIndex, AccessPolicy >::const_value_proxy ( TIndex  i,
TContainer &  container 
)
inline

Definition at line 47 of file value_proxy.h.

◆ const_value_proxy() [2/2]

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
template<typename XContainer , typename XIndex , typename XAccessPolicy >
til::const_value_proxy< TContainer, TIndex, AccessPolicy >::const_value_proxy ( const const_value_proxy< XContainer, XIndex, XAccessPolicy > &  other)
inline

Definition at line 49 of file value_proxy.h.

Member Function Documentation

◆ container() [1/2]

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
TContainer& til::const_value_proxy< TContainer, TIndex, AccessPolicy >::container ( )
inline

◆ container() [2/2]

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
const TContainer& til::const_value_proxy< TContainer, TIndex, AccessPolicy >::container ( ) const
inline

Definition at line 76 of file value_proxy.h.

◆ index() [1/2]

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
boost::call_traits<TIndex>::const_reference til::const_value_proxy< TContainer, TIndex, AccessPolicy >::index ( ) const
inline

◆ index() [2/2]

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
boost::call_traits<TIndex>::reference til::const_value_proxy< TContainer, TIndex, AccessPolicy >::index ( )
inline

Definition at line 73 of file value_proxy.h.

◆ operator const_reference()

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
til::const_value_proxy< TContainer, TIndex, AccessPolicy >::operator const_reference ( )
inline

Definition at line 62 of file value_proxy.h.

◆ operator->()

template<typename TContainer, typename TIndex = std::size_t, typename AccessPolicy = policy::VPAccess_Default<TContainer,TIndex>>
const_pointer til::const_value_proxy< TContainer, TIndex, AccessPolicy >::operator-> ( void  ) const
inline

Definition at line 56 of file value_proxy.h.


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