10#ifndef LDNDC_MOBILE_SETUP_H_
11#define LDNDC_MOBILE_SETUP_H_
17#include <string/cbm_string.h>
19#define registered_key_prefix "registered.option."
23struct CBM_API mobile_module_options_t
25 typedef std::string key_type;
26 typedef cbm::string_t value_type;
27 typedef std::map< key_type, value_type > mobile_module_options_container_t;
28 typedef mobile_module_options_container_t::const_iterator const_iterator;
30 void clear() { this->options.clear(); }
31 bool exists( key_type
const & )
const;
33 value_type
const * get( key_type
const & )
const;
34 template <
typename _VALUE_TYPE >
35 _VALUE_TYPE get( key_type
const & _key, _VALUE_TYPE
const & _default)
38 value_type
const * option_value = this->get( _key);
41 return option_value->as< _VALUE_TYPE >();
44 lerr_t insert( key_type
const & , value_type
const & );
45 lerr_t merge( mobile_module_options_t
const *);
47 cbm::string_t to_string()
const;
49 const_iterator begin()
const
50 {
return this->options.begin(); }
51 const_iterator end()
const
52 {
return this->options.end(); }
55 mobile_module_options_container_t options;
62struct CBM_API mobile_module_info_t
69 mobile_module_options_t options;
77class CBM_API mobile_modules_info_t
80 mobile_modules_info_t();
81 ~mobile_modules_info_t();
83 size_t number_of_modules()
const;
85 mobile_module_info_t
const *
86 get_mobile_module_info_by_id(
char const * )
const;
87 mobile_module_info_t
const *
88 get_mobile_module_info_by_slot(
size_t )
const;
90 int add_module_setup( mobile_module_info_t
const &);
92 bool have_module(
char const * )
const;
96 std::vector< mobile_module_info_t > m_moduleinfos;
Spatially explicit groundwater model.
Definition: airchemistryput.h:15