Public Types | Public Member Functions | Private Member Functions | Private Attributes

ai::vector_property_handler< T > Class Template Reference

#include <property_handler.hpp>

Inheritance diagram for ai::vector_property_handler< T >:
Inheritance graph
[legend]
Collaboration diagram for ai::vector_property_handler< T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef boost::shared_ptr< T > t_ptr
typedef std::vector
< boost::shared_ptr< T > > 
t_ptr_vector

Public Member Functions

 vector_property_handler (const std::string &property, t_ptr_vector &values, boost::function2< void, t_ptr_vector &, const config & > &construction_factory)
componenthandle_get (const path_element &child)
bool handle_change (const path_element &child, const config &cfg)
bool handle_add (const path_element &child, const config &cfg)
bool handle_delete (const path_element &child)
std::vector< component * > handle_get_children ()

Private Member Functions

bool do_add (int pos, const config &cfg)

Private Attributes

boost::function2< void,
t_ptr_vector &, const config & > 
factory_
const std::string property_
t_ptr_vectorvalues_

Detailed Description

template<typename T>
class ai::vector_property_handler< T >

Definition at line 77 of file property_handler.hpp.


Member Typedef Documentation

template<typename T >
typedef boost::shared_ptr<T> ai::vector_property_handler< T >::t_ptr

Definition at line 79 of file property_handler.hpp.

template<typename T >
typedef std::vector< boost::shared_ptr<T> > ai::vector_property_handler< T >::t_ptr_vector

Definition at line 80 of file property_handler.hpp.


Constructor & Destructor Documentation

template<typename T >
ai::vector_property_handler< T >::vector_property_handler ( const std::string &  property,
t_ptr_vector values,
boost::function2< void, t_ptr_vector &, const config & > &  construction_factory 
) [inline]

Definition at line 82 of file property_handler.hpp.


Member Function Documentation

template<typename T >
bool ai::vector_property_handler< T >::do_add ( int  pos,
const config cfg 
) [inline, private]

Definition at line 144 of file property_handler.hpp.

References ai::vector_property_handler< T >::factory_, and ai::vector_property_handler< T >::values_.

Referenced by ai::vector_property_handler< T >::handle_add().

Here is the caller graph for this function:

template<typename T >
bool ai::vector_property_handler< T >::handle_add ( const path_element child,
const config cfg 
) [inline, virtual]
template<typename T >
bool ai::vector_property_handler< T >::handle_change ( const path_element child,
const config cfg 
) [inline, virtual]

Implements ai::base_property_handler.

Definition at line 94 of file property_handler.hpp.

References ai::vector_property_handler< T >::handle_add(), and ai::vector_property_handler< T >::handle_delete().

Here is the call graph for this function:

template<typename T >
bool ai::vector_property_handler< T >::handle_delete ( const path_element child  )  [inline, virtual]
template<typename T >
component* ai::vector_property_handler< T >::handle_get ( const path_element child  )  [inline, virtual]
template<typename T >
std::vector<component*> ai::vector_property_handler< T >::handle_get_children (  )  [inline, virtual]

Member Data Documentation

template<typename T >
boost::function2<void, t_ptr_vector&, const config&> ai::vector_property_handler< T >::factory_ [private]

Definition at line 159 of file property_handler.hpp.

Referenced by ai::vector_property_handler< T >::do_add().

template<typename T >
const std::string ai::vector_property_handler< T >::property_ [private]

Definition at line 160 of file property_handler.hpp.

Referenced by ai::vector_property_handler< T >::handle_add().

template<typename T >
t_ptr_vector& ai::vector_property_handler< T >::values_ [private]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by doxygen 1.7.1 on Thu May 24 2012 01:18:30 for The Battle for Wesnoth
Gna! | Forum | Wiki | CIA | devdocs