The Battle for Wesnoth  1.13.10+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Types | Public Member Functions | Private Attributes | List of all members
ai::aspect_property_handler< T > Class Template Reference

#include <property_handler.hpp>

Inheritance diagram for ai::aspect_property_handler< T >:
Inheritance graph

Public Types

typedef std::shared_ptr< T > ptr
 
typedef std::map< std::string,
ptr
aspect_map
 

Public Member Functions

 aspect_property_handler (const std::string &property, aspect_map &aspects, std::function< void(aspect_map &, const config &, std::string)> &construction_factory)
 
componenthandle_get (const path_element &child)
 
bool handle_change (const path_element &child, config cfg)
 
bool handle_add (const path_element &, const config &)
 
bool handle_delete (const path_element &child)
 
std::vector< component * > handle_get_children ()
 
- Public Member Functions inherited from ai::base_property_handler
virtual ~base_property_handler ()
 

Private Attributes

const std::string & property_
 
aspect_mapaspects_
 
std::function< void(aspect_map
&, const config &, std::string)> 
factory_
 

Detailed Description

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

Definition at line 219 of file property_handler.hpp.

Member Typedef Documentation

template<typename T >
typedef std::map< std::string, ptr > ai::aspect_property_handler< T >::aspect_map

Definition at line 222 of file property_handler.hpp.

template<typename T >
typedef std::shared_ptr<T> ai::aspect_property_handler< T >::ptr

Definition at line 221 of file property_handler.hpp.

Constructor & Destructor Documentation

template<typename T >
ai::aspect_property_handler< T >::aspect_property_handler ( const std::string &  property,
aspect_map aspects,
std::function< void(aspect_map &, const config &, std::string)> &  construction_factory 
)
inline

Definition at line 224 of file property_handler.hpp.

Member Function Documentation

template<typename T >
bool ai::aspect_property_handler< T >::handle_add ( const path_element ,
const config  
)
inlinevirtual

Implements ai::base_property_handler.

Definition at line 252 of file property_handler.hpp.

template<typename T >
bool ai::aspect_property_handler< T >::handle_change ( const path_element child,
config  cfg 
)
inlinevirtual
template<typename T >
bool ai::aspect_property_handler< T >::handle_delete ( const path_element child)
inlinevirtual
template<typename T >
component* ai::aspect_property_handler< T >::handle_get ( const path_element child)
inlinevirtual
template<typename T >
std::vector<component*> ai::aspect_property_handler< T >::handle_get_children ( )
inlinevirtual

Implements ai::base_property_handler.

Definition at line 271 of file property_handler.hpp.

References a, and ai::aspect_property_handler< T >::aspects_.

Member Data Documentation

template<typename T >
aspect_map& ai::aspect_property_handler< T >::aspects_
private
template<typename T >
std::function<void(aspect_map&, const config&, std::string)> ai::aspect_property_handler< T >::factory_
private
template<typename T >
const std::string& ai::aspect_property_handler< T >::property_
private

Definition at line 282 of file property_handler.hpp.


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