Abstract class that handles how to distribute loop enumeration for parallel processings. "sequential_splitter", "dispersed_splitter" are provided as implementations.
More...
|
| virtual const void * | new_context (size_t size, int num_threads) const =0 |
| | Allocate a new context for a loop. More...
|
| |
| virtual std::function< size_t(const void *context, int thread_index)> | get_start_func (const void *context) const =0 |
| | Get a function that provides us the starting index of a loop for the specific thread. More...
|
| |
| virtual std::function< bool(const void *context, size_t &n, int thread_index)> | get_advance_func (const void *context) const =0 |
| | Get a function that advances an index of a loop. More...
|
| |
| virtual void | delete_context (const void *context) const =0 |
| | Deallocate the context generated by new_context. More...
|
| |
| virtual void | recursive_load (configuration &config) override |
| | Start recursively load configurables. More...
|
| |
| virtual void | recursive_configure (configuration &config) override |
| | Recursively call configure. More...
|
| |
|
| recursive_configurable ()=default |
| | Default constructor.
|
| |
| 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...
|
| |
| 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...
|
| |
|
| module () |
| | Default constructor for module.
|
| |
|
virtual | ~module () |
| | Default destructor for module.
|
| |
| virtual std::string | get_module_name () const |
| | Get the module name. More...
|
| |
|
| credit ()=default |
| | Default constructor.
|
| |
| | credit (std::string name, std::string argument_name) |
| | Constructor for credit. More...
|
| |
| virtual void | set_name (std::string name, std::string argument_name="") |
| | Set name (and perhaps, argument name together) More...
|
| |
|
virtual std::string | get_name () const |
| | Get the name.
|
| |
| virtual void | set_argument_name (std::string argument_name) |
| | Set an argument name. More...
|
| |
| virtual std::string | get_argument_name () const |
| | Get an argument name. More...
|
| |
| virtual double | get_version () const |
| | Get version. More...
|
| |
| virtual std::string | get_author () const |
| | Get author's name. More...
|
| |
| virtual std::tuple< int, int, int > | get_date () const |
| | Get currently set date. More...
|
| |
| virtual std::string | get_email_address () const |
| | Get email address. More...
|
| |
| virtual bool | send_message (std::string message, void *ptr=nullptr) |
| | Send a message. More...
|
| |
| virtual bool | const_send_message (std::string message, void *ptr=nullptr) const |
| | Send a message. More...
|
| |
|
|
using | environment_map = std::map< std::string, const void * > |
| | Type for environment_map.
|
| |
| static configuration & | set_global_configuration (const configuration &config) |
| | Assign the global settings of the program. More...
|
| |
| static configuration & | get_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...
|
| |
| static std::string | module_libpath (std::string module_name) |
| | Get the path to the dynamic library. e.g., "mylib" -> "symlink-public/lib/libshiokaze_mylib.dylib". More...
|
| |
| static module * | alloc_module (configuration &config, std::string arg_name, std::string default_module_name, std::string description) |
| | Automatically reads the parameter "arg_name" to fetch the name for the library, and allocate the library. More...
|
| |
| static module * | alloc_module (std::string path) |
| | Reads the dynamic library of a class module, allocate, and return the pointer to it. More...
|
| |
| static unsigned | close_all_handles () |
| | Close all the handles that are still unloaded. More...
|
| |
| template<class T > |
| static std::unique_ptr< T > | unique_alloc_module (configuration &config, std::string arg_name, std::string default_module_name, std::string description) |
| | Allocate the module and cast to the a specified class T. More...
|
| |
| static unsigned | count_open_modules () |
| | Count all the open modules. More...
|
| |
| bool | check_set (const environment_map &environment, std::vector< std::string > names) |
| | Check if the values for a variable keys exist. More...
|
| |
|
std::string | m_name |
| | Name of credit.
|
| |
|
std::string | m_argument_name |
| | Argument name.
|
| |
Abstract class that handles how to distribute loop enumeration for parallel processings. "sequential_splitter", "dispersed_splitter" are provided as implementations.