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.