Shiokaze Framework
A research-oriented fluid solver for computer graphics
recursive_configurable Class Reference

Extended configurable class that holds multiple children of configurable. More...

#include <configurable.h>

Inheritance diagram for recursive_configurable:
configurable array2< T > array3< T > bitarray2 bitarray3 bitmacarray2 bitmacarray3 macarray2< T > macarray3< T > recursive_configurable_module

Classes

class  environment_setter
 Class for setting environemt. More...
 

Public Member Functions

 recursive_configurable ()=default
 Default constructor.
 
virtual void recursive_load (configuration &config)
 Load the program itself and relay the same to its children. Used to load files and libraries into memory. More...
 
virtual void recursive_configure (configuration &config)
 Configure the program itself and relay the same to its children. Used to load and set parameters. More...
 
virtual void recursive_initialize (const configurable::environment_map &environment=configurable::environment_map())
 Initialize the program itself and relay the same to its children. Used to get things ready for actual use. More...
 
virtual bool is_ready () const
 Get if the instance is initialized. More...
 
virtual void add_child (configurable *child)
 Add a child instance. More...
 
virtual void add_child (recursive_configurable *child)
 Add a child instance. More...
 
virtual void remove_child (configurable *child)
 Remove a child instance. More...
 
virtual void remove_child (recursive_configurable *child)
 Remove a child instance. More...
 
virtual void setup_now (configuration &config=get_global_configuration()) override
 Run recursive_load - recursive_configure - recursive_initialize processes.
 
virtual bool not_recursive () override
 Check if this instance is not derived from recursive_configurable. More...
 
void set_environment (std::string name, const void *value)
 Set the pointer to an environmental value associated with an input name. More...
 
- Public Member Functions inherited from configurable
virtual void load (configuration &config)
 Load the program. Used to load files and libraries into memory. More...
 
virtual void configure (configuration &config)
 Configure the program. Used to load and set parameters. More...
 

Additional Inherited Members

- Public Types inherited from configurable
using environment_map = std::map< std::string, const void * >
 Type for environment_map.
 
- Static Public Member Functions inherited from configurable
static configurationset_global_configuration (const configuration &config)
 Assign the global settings of the program. More...
 
static configurationget_global_configuration ()
 Get the global settings of the program. More...
 
template<class T >
static const T & get_env (const environment_map &environment, std::string key)
 Extract an specified type of pointer from the input environment. More...
 
- Protected Member Functions inherited from configurable
bool check_set (const environment_map &environment, std::vector< std::string > names)
 Check if the values for a variable keys exist. More...
 

Detailed Description

Extended configurable class that holds multiple children of configurable.

Member Function Documentation

◆ add_child() [1/2]

virtual void recursive_configurable::add_child ( configurable child)
inlinevirtual

Add a child instance.

Parameters
[in]childPointer to an instance to add.

◆ add_child() [2/2]

virtual void recursive_configurable::add_child ( recursive_configurable child)
inlinevirtual

Add a child instance.

Parameters
[in]childPointer to an instance to add.

◆ is_ready()

virtual bool recursive_configurable::is_ready ( ) const
inlinevirtual

Get if the instance is initialized.

Returns
true if the instance is initialized false otherwise.

◆ not_recursive()

virtual bool recursive_configurable::not_recursive ( )
inlineoverridevirtual

Check if this instance is not derived from recursive_configurable.

Returns
Always returns true.

Reimplemented from configurable.

◆ recursive_configure()

virtual void recursive_configurable::recursive_configure ( configuration config)
inlinevirtual

Configure the program itself and relay the same to its children. Used to load and set parameters.

Parameters
[in]configConfiguration setting.

Reimplemented in recursive_configurable_module.

◆ recursive_initialize()

virtual void recursive_configurable::recursive_initialize ( const configurable::environment_map environment = configurable::environment_map())
inlinevirtual

Initialize the program itself and relay the same to its children. Used to get things ready for actual use.

Parameters
[in]configConfiguration setting.

Reimplemented in drawable.

◆ recursive_load()

virtual void recursive_configurable::recursive_load ( configuration config)
inlinevirtual

Load the program itself and relay the same to its children. Used to load files and libraries into memory.

Parameters
[in]configConfiguration setting.

Reimplemented in recursive_configurable_module.

◆ remove_child() [1/2]

virtual void recursive_configurable::remove_child ( configurable child)
inlinevirtual

Remove a child instance.

Parameters
[in]childPointer to an instance to remove.

◆ remove_child() [2/2]

virtual void recursive_configurable::remove_child ( recursive_configurable child)
inlinevirtual

Remove a child instance.

Parameters
[in]childPointer to an instance to remove.

◆ set_environment()

void recursive_configurable::set_environment ( std::string  name,
const void *  value 
)
inline

Set the pointer to an environmental value associated with an input name.

Parameters
[in]nameName for the environmental value to set.
[in]valuePointer to the value to set.

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