RSC  0.17.1
rsc::patterns::AssociativeProxy< Container, Accessor > Class Template Reference

#include <AssociativeProxy.h>

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

Public Types

typedef Container::key_type key_type
 
typedef boost::remove_reference< typename Accessor::result_type >::type mapped_type
 
typedef detail::pair_adapter< typename Container::key_type, typename Container::mapped_type, Accessor > base_accessor_type
 
typedef ContainerProxy< Container, base_accessor_typebase_type
 
- Public Types inherited from rsc::patterns::ContainerProxy< Container, detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor > >
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< detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor >, typename Container::const_iterator, typename detail::force_const< typename detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor >::result_type >::type > const_iterator
 
typedef boost::transform_iterator< detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor >, typename Container::iterator, typename detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor >::result_type > iterator
 
typedef iterator::difference_type difference_type
 

Public Member Functions

 AssociativeProxy (Container &container)
 
detail::force_const< typename Accessor::result_type >::type operator[] (const key_type &key) const
 
Accessor::result_type operator[] (const key_type &key)
 
base_type::const_iterator find (const key_type &key) const throw ()
 
base_type::iterator find (const key_type &key) throw ()
 
- Public Member Functions inherited from rsc::patterns::ContainerProxy< Container, detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor > >
 ContainerProxy (Container &container)
 
 ContainerProxy (Container &container, P1 p1)
 
 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 ()
 

Private Types

typedef Accessor accessor_type
 

Private Attributes

accessor_type accessor
 

Additional Inherited Members

- Protected Types inherited from rsc::patterns::ContainerProxy< Container, detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor > >
typedef Container container_type
 
typedef detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor > accessor_type
 
- Protected Attributes inherited from rsc::patterns::ContainerProxy< Container, detail::pair_adapter< Container::key_type, Container::mapped_type, Accessor > >
container_typecontainer
 
accessor_type accessor
 

Detailed Description

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

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 62 of file AssociativeProxy.h.

Member Typedef Documentation

template<typename Container, typename Accessor = pass_through>
typedef Accessor rsc::patterns::AssociativeProxy< Container, Accessor >::accessor_type
private

Definition at line 101 of file AssociativeProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef detail::pair_adapter<typename Container::key_type, typename Container::mapped_type, Accessor> rsc::patterns::AssociativeProxy< Container, Accessor >::base_accessor_type

Definition at line 71 of file AssociativeProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef ContainerProxy<Container, base_accessor_type> rsc::patterns::AssociativeProxy< Container, Accessor >::base_type

Definition at line 72 of file AssociativeProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef Container::key_type rsc::patterns::AssociativeProxy< Container, Accessor >::key_type

Definition at line 66 of file AssociativeProxy.h.

template<typename Container, typename Accessor = pass_through>
typedef boost::remove_reference<typename Accessor::result_type>::type rsc::patterns::AssociativeProxy< Container, Accessor >::mapped_type

Definition at line 68 of file AssociativeProxy.h.

Constructor & Destructor Documentation

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

Definition at line 142 of file AssociativeProxy.h.

Member Function Documentation

template<typename Container, typename Accessor = pass_through>
base_type::const_iterator rsc::patterns::AssociativeProxy< Container, Accessor >::find ( const key_type key) const
throw (
)
inline
template<typename Container, typename Accessor = pass_through>
base_type::iterator rsc::patterns::AssociativeProxy< Container, Accessor >::find ( const key_type key)
throw (
)
inline

Definition at line 95 of file AssociativeProxy.h.

template<typename Container , typename Accessor >
detail::force_const< typename Accessor::result_type >::type rsc::patterns::AssociativeProxy< Container, Accessor >::operator[] ( const key_type key) const

Member Data Documentation

template<typename Container, typename Accessor = pass_through>
accessor_type rsc::patterns::AssociativeProxy< Container, Accessor >::accessor
private

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