RSC  0.12.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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_type
base_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

Definition at line 89 of file AssociativeProxy.h.

Referenced by rsc::patterns::AssociativeProxy< ImplMap >::find(), and rsc::patterns::AssociativeProxy< Container, pass_through >::operator[]().

Here is the caller graph for this function:

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
Exceptions
NoSuchKey

Definition at line 148 of file AssociativeProxy.h.

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

Definition at line 159 of file AssociativeProxy.h.

Member Data Documentation

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

Definition at line 103 of file AssociativeProxy.h.


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