RSC  0.9.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
rsc::patterns::Factory< Key, Interface >::ImplMapProxy Class Reference

This object presents the registered implementations in a form very similar to a STL container. More...

#include <Factory.h>

Inheritance diagram for rsc::patterns::Factory< Key, Interface >::ImplMapProxy:
Inheritance graph
Collaboration diagram for rsc::patterns::Factory< Key, Interface >::ImplMapProxy:
Collaboration graph

Public Member Functions

void register_ (const KeyType &key, const CreateFunction &create_function_)
void unregister (const KeyType &key)
- Public Member Functions inherited from rsc::patterns::AssociativeProxy< ImplMap >
 AssociativeProxy (ImplMap &container)
detail::force_const< typename
pass_through::result_type >
::type 
operator[] (const key_type &key) const
pass_through::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< ImplMap, detail::pair_adapter< ImplMap::key_type, ImplMap::mapped_type, pass_through > >
 ContainerProxy (ImplMap &container)
 ContainerProxy (ImplMap &container, P1 p1)
 ContainerProxy (ImplMap &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 AssociativeProxy< ImplMapbase_type

Private Member Functions

 ImplMapProxy (Factory< Key, Interface > &owner)

Private Attributes

Factory< Key, Interface > & owner

Friends

class Factory< Key, Interface >

Additional Inherited Members

- Public Types inherited from rsc::patterns::AssociativeProxy< ImplMap >
typedef ImplMap::key_type key_type
typedef
boost::remove_reference
< typename
pass_through::result_type >
::type 
mapped_type
typedef detail::pair_adapter
< typename ImplMap::key_type,
typename ImplMap::mapped_type,
pass_through
base_accessor_type
typedef ContainerProxy
< ImplMap, base_accessor_type
base_type
- Protected Types inherited from rsc::patterns::ContainerProxy< ImplMap, detail::pair_adapter< ImplMap::key_type, ImplMap::mapped_type, pass_through > >
typedef ImplMap container_type
typedef detail::pair_adapter
< ImplMap::key_type,
ImplMap::mapped_type,
pass_through
accessor_type
- Protected Attributes inherited from rsc::patterns::ContainerProxy< ImplMap, detail::pair_adapter< ImplMap::key_type, ImplMap::mapped_type, pass_through > >
container_type & container
accessor_type accessor

Detailed Description

template<typename Key, typename Interface>
class rsc::patterns::Factory< Key, Interface >::ImplMapProxy

This object presents the registered implementations in a form very similar to a STL container.

In addition, implementations can be registered or unregistered using additional functions.

Definition at line 153 of file Factory.h.

Member Typedef Documentation

template<typename Key, typename Interface>
typedef AssociativeProxy<ImplMap> rsc::patterns::Factory< Key, Interface >::ImplMapProxy::base_type
private

Definition at line 167 of file Factory.h.

Constructor & Destructor Documentation

template<typename Key , typename Interface >
rsc::patterns::Factory< Key, Interface >::ImplMapProxy::ImplMapProxy ( Factory< Key, Interface > &  owner)
private

Definition at line 256 of file Factory.h.

Member Function Documentation

template<typename Key , typename Interface >
void rsc::patterns::Factory< Key, Interface >::ImplMapProxy::register_ ( const KeyType key,
const CreateFunction create_function_ 
)
Exceptions
std::invalid_argument

Definition at line 262 of file Factory.h.

template<typename Key , typename Interface >
void rsc::patterns::Factory< Key, Interface >::ImplMapProxy::unregister ( const KeyType key)
Exceptions
NoSuchImpl

Definition at line 268 of file Factory.h.

Friends And Related Function Documentation

template<typename Key, typename Interface>
friend class Factory< Key, Interface >
friend

Definition at line 154 of file Factory.h.

Member Data Documentation

template<typename Key, typename Interface>
Factory<Key, Interface>& rsc::patterns::Factory< Key, Interface >::ImplMapProxy::owner
private

Definition at line 169 of file Factory.h.


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