RSC  0.16.0
rsc::patterns::ContainerProxy< Container, Accessor > Class Template Reference

#include <ContainerProxy.h>

Inheritance diagram for rsc::patterns::ContainerProxy< Container, Accessor >:
Inheritance graph
Collaboration diagram for rsc::patterns::ContainerProxy< Container, Accessor >:
Collaboration graph

Public Types

typedef Container::size_type size_type
 
typedef Container::value_type value_type
 
typedef Container::pointer pointer
 
typedef Container::const_reference const_reference
 
typedef Container::reference reference
 
typedef boost::transform_iterator< Accessor, typename Container::const_iterator, typename detail::force_const< typename Accessor::result_type >::type > const_iterator
 
typedef boost::transform_iterator< Accessor, typename Container::iterator, typename Accessor::result_type > iterator
 
typedef iterator::difference_type difference_type
 

Public Member Functions

 ContainerProxy (Container &container)
 
template<typename P1 >
 ContainerProxy (Container &container, P1 p1)
 
template<typename P1 , typename P2 >
 ContainerProxy (Container &container, P1 p1, P2 p2)
 
const_iterator begin () const throw ()
 
iterator begin () throw ()
 
const_iterator end () const throw ()
 
iterator end () throw ()
 
size_type size () const throw ()
 
bool empty () const throw ()
 

Protected Types

typedef Container container_type
 
typedef Accessor accessor_type
 

Protected Attributes

container_typecontainer
 
accessor_type accessor
 

Detailed Description

template<typename Container, typename Accessor = pass_through>
class rsc::patterns::ContainerProxy< Container, Accessor >

Note
The container type Container has to be a model of the Container concept defined in the stl.
The type container_proxy<Container> is almost a model of the Container concept, but it is not a model of the Assignable concept.
Author
Jan Moringen jmori.nosp@m.nge@.nosp@m.techf.nosp@m.ak.u.nosp@m.ni-bi.nosp@m.elef.nosp@m.eld.d.nosp@m.e

Definition at line 50 of file ContainerProxy.h.

Member Typedef Documentation

template<typename Container, typename Accessor = pass_through>
typedef Accessor rsc::patterns::ContainerProxy< Container, Accessor >::accessor_type
protected

Definition at line 112 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef boost::transform_iterator<Accessor, typename Container::const_iterator, typename detail::force_const< typename Accessor::result_type>::type> rsc::patterns::ContainerProxy< Container, Accessor >::const_iterator

Definition at line 62 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef Container::const_reference rsc::patterns::ContainerProxy< Container, Accessor >::const_reference

Definition at line 57 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef Container rsc::patterns::ContainerProxy< Container, Accessor >::container_type
protected

Definition at line 110 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef iterator::difference_type rsc::patterns::ContainerProxy< Container, Accessor >::difference_type

Definition at line 67 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef boost::transform_iterator<Accessor, typename Container::iterator, typename Accessor::result_type> rsc::patterns::ContainerProxy< Container, Accessor >::iterator

Definition at line 65 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef Container::pointer rsc::patterns::ContainerProxy< Container, Accessor >::pointer

Definition at line 55 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef Container::reference rsc::patterns::ContainerProxy< Container, Accessor >::reference

Definition at line 58 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef Container::size_type rsc::patterns::ContainerProxy< Container, Accessor >::size_type

Definition at line 52 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef Container::value_type rsc::patterns::ContainerProxy< Container, Accessor >::value_type

Definition at line 54 of file ContainerProxy.h.

Constructor & Destructor Documentation

template<typename Container, typename Accessor >
rsc::patterns::ContainerProxy< Container, Accessor >::ContainerProxy ( Container &  container)
Parameters
container

Definition at line 165 of file ContainerProxy.h.

template<typename Container, typename Accessor = pass_through>
template<typename P1 >
rsc::patterns::ContainerProxy< Container, Accessor >::ContainerProxy ( Container &  container,
P1  p1 
)
Parameters
container
p1
template<typename Container, typename Accessor = pass_through>
template<typename P1 , typename P2 >
rsc::patterns::ContainerProxy< Container, Accessor >::ContainerProxy ( Container &  container,
P1  p1,
P2  p2 
)
Parameters
container
p1
p2

Member Function Documentation

template<typename Container , typename Accessor >
ContainerProxy< Container, Accessor >::const_iterator rsc::patterns::ContainerProxy< Container, Accessor >::begin ( ) const
throw (
)
template<typename Container , typename Accessor >
ContainerProxy< Container, Accessor >::iterator rsc::patterns::ContainerProxy< Container, Accessor >::begin ( )
throw (
)
template<typename Container , typename Accessor >
bool rsc::patterns::ContainerProxy< Container, Accessor >::empty ( ) const
throw (
)

Definition at line 200 of file ContainerProxy.h.

template<typename Container , typename Accessor >
ContainerProxy< Container, Accessor >::const_iterator rsc::patterns::ContainerProxy< Container, Accessor >::end ( ) const
throw (
)
template<typename Container , typename Accessor >
ContainerProxy< Container, Accessor >::iterator rsc::patterns::ContainerProxy< Container, Accessor >::end ( )
throw (
)
template<typename Container , typename Accessor >
ContainerProxy< Container, Accessor >::size_type rsc::patterns::ContainerProxy< Container, Accessor >::size ( ) const
throw (
)

Definition at line 195 of file ContainerProxy.h.

Member Data Documentation

template<typename Container, typename Accessor = pass_through>
accessor_type rsc::patterns::ContainerProxy< Container, Accessor >::accessor
protected

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