NGen
|
#include <AbstractCLibBmiAdapter.hpp>
Public Member Functions | |
AbstractCLibBmiAdapter (const std::string &type_name, std::string library_file_path, std::string bmi_init_config, bool has_fixed_time_step, std::string registration_func) | |
Main public constructor. | |
~AbstractCLibBmiAdapter () override | |
Class destructor. | |
void | Finalize () override |
Perform tear-down task for this object and its backing model. | |
virtual bool | is_model_initialized ()=0 |
Whether the backing model has been initialized yet. | |
double | get_time_convert_factor () |
Determine backing model's time units and return an appropriate conversion factor. | |
double | convert_model_time_to_seconds (const double &model_time_val) |
Convert model time value to value in seconds. | |
double | convert_seconds_to_model_time (const double &seconds_val) |
Convert a given number of seconds to equivalent in model time units. | |
virtual const std::string | get_analogous_cxx_type (const std::string &external_type_name, const size_t item_size)=0 |
Get the name string for the C++ type analogous to the described type in the backing model. | |
void | Initialize () |
Initialize the wrapped BMI model functionality using the value from the bmi_init_config member variable and the API's Initialize function. | |
void | Initialize (std::string config_file) override |
Initialize the wrapped BMI model object using the given config file and the object's Initialize function. | |
bool | isInitialized () |
Get whether this instance has been initialized properly. | |
std::string | get_model_name () |
Get the model name. | |
virtual void | Update ()=0 |
virtual void | UpdateUntil (double time)=0 |
virtual std::string | GetComponentName ()=0 |
virtual int | GetInputItemCount ()=0 |
virtual int | GetOutputItemCount ()=0 |
virtual std::vector< std::string > | GetInputVarNames ()=0 |
virtual std::vector< std::string > | GetOutputVarNames ()=0 |
virtual int | GetVarGrid (std::string name)=0 |
virtual std::string | GetVarType (std::string name)=0 |
virtual std::string | GetVarUnits (std::string name)=0 |
virtual int | GetVarItemsize (std::string name)=0 |
virtual int | GetVarNbytes (std::string name)=0 |
virtual std::string | GetVarLocation (std::string name)=0 |
virtual double | GetCurrentTime ()=0 |
virtual double | GetStartTime ()=0 |
virtual double | GetEndTime ()=0 |
virtual std::string | GetTimeUnits ()=0 |
virtual double | GetTimeStep ()=0 |
virtual void | GetValue (std::string name, void *dest)=0 |
virtual void * | GetValuePtr (std::string name)=0 |
virtual void | GetValueAtIndices (std::string name, void *dest, int *inds, int count)=0 |
virtual void | SetValue (std::string name, void *src)=0 |
virtual void | SetValueAtIndices (std::string name, int *inds, int count, void *src)=0 |
virtual int | GetGridRank (const int grid)=0 |
virtual int | GetGridSize (const int grid)=0 |
virtual std::string | GetGridType (const int grid)=0 |
virtual void | GetGridShape (const int grid, int *shape)=0 |
virtual void | GetGridSpacing (const int grid, double *spacing)=0 |
virtual void | GetGridOrigin (const int grid, double *origin)=0 |
virtual void | GetGridX (const int grid, double *x)=0 |
virtual void | GetGridY (const int grid, double *y)=0 |
virtual void | GetGridZ (const int grid, double *z)=0 |
virtual int | GetGridNodeCount (const int grid)=0 |
virtual int | GetGridEdgeCount (const int grid)=0 |
virtual int | GetGridFaceCount (const int grid)=0 |
virtual void | GetGridEdgeNodes (const int grid, int *edge_nodes)=0 |
virtual void | GetGridFaceEdges (const int grid, int *face_edges)=0 |
virtual void | GetGridFaceNodes (const int grid, int *face_nodes)=0 |
virtual void | GetGridNodesPerFace (const int grid, int *nodes_per_face)=0 |
Protected Member Functions | |
void | dynamic_library_load () |
Dynamically load and obtain this instance's handle to the shared library. | |
void * | dynamic_load_symbol (const std::string &symbol_name, bool is_null_valid) |
Load and return the address of the given symbol from the loaded dynamic model shared library. | |
void * | dynamic_load_symbol (const std::string &symbol_name) |
Convenience for. | |
const std::string & | get_bmi_registration_function () |
const void * | get_dyn_lib_handle () |
virtual void | construct_and_init_backing_model ()=0 |
Construct the backing BMI model object, then call its BMI-native Initialize() function. | |
Protected Attributes | |
std::string | bmi_init_config |
Path (as a string) to the BMI config file for initializing the backing model (empty if none). | |
bool | bmi_model_has_fixed_time_step = true |
Whether this particular model has a time step size that cannot be changed internally or externally. | |
double | bmi_model_time_convert_factor |
Conversion factor for converting values for model time in model's unit type to equivalent in seconds. | |
std::shared_ptr< double > | bmi_model_time_step_size = nullptr |
Pointer to stored time step size value of backing model, if it is fixed and has been retrieved. | |
std::string | init_exception_msg |
Message from an exception (if encountered) on the first attempt to initialize the backing model. | |
std::shared_ptr< std::vector< std::string > > | input_var_names |
Pointer to collection of input variable names for backing model, used by GetInputVarNames() . | |
bool | model_initialized = false |
Whether the backing model has been initialized yet, which is always initially false . | |
std::string | model_name |
std::shared_ptr< std::vector< std::string > > | output_var_names |
Pointer to collection of output variable names for backing model, used by GetOutputVarNames() . | |
Private Member Functions | |
void | finalizeForLibAbstraction () |
A non-virtual equivalent for the virtual. | |
Private Attributes | |
std::string | bmi_lib_file |
Path to the BMI shared library file, for dynamic linking. | |
const std::string | bmi_registration_function |
Name of the function that registers BMI struct's function pointers to the right module functions. | |
void * | dyn_lib_handle = nullptr |
Handle for dynamically loaded library file. | |
models::bmi::AbstractCLibBmiAdapter::AbstractCLibBmiAdapter | ( | const std::string & | type_name, |
std::string | library_file_path, | ||
std::string | bmi_init_config, | ||
bool | has_fixed_time_step, | ||
std::string | registration_func ) |
Main public constructor.
type_name | The name of the backing BMI module/model type. |
library_file_path | The string path to the shared library file for external module. |
bmi_init_config | The string path to the BMI initialization config file for the module. |
has_fixed_time_step | Whether the model has a fixed time step size. |
registration_func | The name for the |
output | The output stream handler. |
|
override |
Class destructor.
Note that this performs the logic in the Finalize()
function for cleaning up this object and its backing BMI model.
References finalizeForLibAbstraction().
|
protectedpure virtualinherited |
Construct the backing BMI model object, then call its BMI-native Initialize()
function.
Implementations should return immediately without taking any further action if model_initialized
is already true
.
The call to the BMI native Initialize(string)
should pass the value stored in bmi_init_config
.
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by models::bmi::Bmi_Adapter::Initialize().
|
inherited |
Convert model time value to value in seconds.
Performs necessary lookup and conversion of some given model time value - as from GetCurrentTime()
or GetStartTime()
- and returns the equivalent value when represented in seconds.
model_time_val | Arbitrary model time value in units provided by GetTimeUnits() |
References models::bmi::Bmi_Adapter::bmi_model_time_convert_factor.
Referenced by realization::Bmi_C_Formulation::convert_model_time(), and realization::Bmi_Cpp_Formulation::convert_model_time().
|
inherited |
Convert a given number of seconds to equivalent in model time units.
seconds_val |
References models::bmi::Bmi_Adapter::bmi_model_time_convert_factor.
Referenced by realization::Bmi_Module_Formulation::get_response().
|
protected |
Dynamically load and obtain this instance's handle to the shared library.
References bmi_lib_file, bmi_registration_function, dyn_lib_handle, utils::FileChecker::file_is_readable(), models::bmi::Bmi_Adapter::init_exception_msg, models::bmi::Bmi_Adapter::model_name, and logging::warning().
Referenced by models::bmi::Bmi_Cpp_Adapter::execModuleCreation(), and models::bmi::Bmi_C_Adapter::execModuleRegistration().
|
inlineprotected |
Convenience for.
This serves as a convenience overload for the function of the same name, in cases when a sought symbol must be found and the return of a null address is not valid.
symbol_name | The name of the symbol to load. |
``std::runtime_error`` | If there is not a valid handle already to the shared library. |
``::external::ExternalIntegrationException`` | If symbol could not be found for the shared library. |
References dynamic_load_symbol().
|
protected |
Load and return the address of the given symbol from the loaded dynamic model shared library.
The initial primary purpose for this is to obtain a function pointer for accessing the registration function for a dynamically loaded library, as done in
It is possible for a symbol pointer to actually be null in some cases. However, this may not be valid in the context in which a call to this function was made. To control whether this is treated as a valid case, and thus whether null should be returned (instead of an exception thrown), there is the is_null_valid
parameter. When true
, a null symbol will be returned by the function.
Typically, a call to
symbol_name | The name of the symbol to load. |
is_null_valid | Whether a null address for the symbol is valid, as opposed to implying there was simply a failure finding it. |
``std::runtime_error`` | If there is not a valid handle already to the shared library. |
``::external::ExternalIntegrationException`` | If symbol could not be found for the shared library. |
References bmi_lib_file, dyn_lib_handle, models::bmi::Bmi_Adapter::init_exception_msg, and models::bmi::Bmi_Adapter::model_name.
Referenced by dynamic_load_symbol(), models::bmi::Bmi_Cpp_Adapter::execModuleCreation(), models::bmi::Bmi_C_Adapter::execModuleRegistration(), and models::bmi::Bmi_Cpp_Adapter::finalizeForCppAdapter().
|
overridevirtual |
Perform tear-down task for this object and its backing model.
The function will simply return if either the pointer to the backing model is nullptr
(e.g., after use in a move constructor) or if the model has not been initialized. Otherwise, it will execute its internal tear-down logic, including a nested call to finalize()
for the backing model.
Note that because of how model initialization state is determined, regardless of whether the call to the model's finalize()
function is successful (i.e., according to the function's return code value), the model will subsequently be consider not initialized. This essentially means that if backing model tear-down fails, it cannot be retried.
models::external::State_Exception | Thrown if nested model finalize() call is not successful. |
Implements bmi::Bmi.
Reimplemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
References finalizeForLibAbstraction().
|
private |
A non-virtual equivalent for the virtual.
This function should be kept private. If its logic needs to be invoked externally, that should be done via the destructor or via the public interface
Primarily, this exists to contain the functionality appropriate for
References dyn_lib_handle.
Referenced by ~AbstractCLibBmiAdapter(), and Finalize().
|
pure virtualinherited |
Get the name string for the C++ type analogous to the described type in the backing model.
The supported languages for BMI modules support different types than C++ in general, but it is necessary to map "external" types to the appropriate C++ type for certain interactions; e.g., setting a variable value. This function encapsulates the translation specific to the particular language.
Note that the size of an individual item is also required, as this can vary in certain situations depending on the implementation language of a backing model.
Implementations should all throw the same type of exception (currently, std::runtime_error) if/when an unrecognized external type name parameter is provided.
external_type_name | The string name of some type in backing model's implementation language. |
item_size | The particular size in bytes for items of the involved analogous types. |
std::runtime_error | If an unrecognized external type name parameter is provided. |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by models::bmi::GetValue(), realization::Bmi_Module_Formulation::set_initial_bmi_parameters(), and realization::Bmi_Module_Formulation::set_model_inputs_prior_to_update().
|
inlineprotected |
References bmi_registration_function.
Referenced by models::bmi::Bmi_C_Adapter::execModuleRegistration().
|
inlineprotected |
References dyn_lib_handle.
Referenced by models::bmi::Bmi_Cpp_Adapter::execModuleCreation(), and models::bmi::Bmi_C_Adapter::execModuleRegistration().
|
inherited |
Get the model name.
References models::bmi::Bmi_Adapter::model_name.
Referenced by models::bmi::GetValue().
|
inherited |
Determine backing model's time units and return an appropriate conversion factor.
A backing BMI model may use arbitrary units for time, but it will expose what those units are via the BMI GetTimeUnits
function. This function retrieves (and interprets) its model's units and return an appropriate factor for converting its internal time values to equivalent representations within the model, and vice versa. This function complies with the BMI get_time_units standard
runtime_error | If the delegated BMI functions to query time throw an exception, the exception is caught and wrapped in a runtime_error |
References UnitsHelper::get_converted_value(), and bmi::Bmi::GetTimeUnits().
Referenced by models::bmi::Bmi_C_Adapter::Bmi_C_Adapter(), models::bmi::Bmi_Cpp_Adapter::Bmi_Cpp_Adapter(), and models::bmi::Bmi_Adapter::Initialize().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_model_current_time(), and realization::Bmi_Module_Formulation::get_response().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_model_end_time().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_bmi_input_variables(), realization::Bmi_C_Formulation::is_bmi_input_variable(), realization::Bmi_Cpp_Formulation::is_bmi_input_variable(), and realization::Bmi_Module_Formulation::set_model_inputs_prior_to_update().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_bmi_output_var_name(), realization::Bmi_Module_Formulation::get_bmi_output_variables(), realization::Bmi_C_Formulation::is_bmi_output_variable(), and realization::Bmi_Cpp_Formulation::is_bmi_output_variable().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_data_start_time().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by models::bmi::Bmi_Adapter::get_time_convert_factor().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by models::bmi::GetValue().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by models::bmi::GetValue().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_value(), and realization::Bmi_Module_Formulation::get_values().
|
inherited |
Initialize the wrapped BMI model functionality using the value from the bmi_init_config
member variable and the API's Initialize
function.
If no attempt to initialize the model has yet been made (i.e., model_initialized
is false
when this function is called), then an initialization is attempted for the model. This is handled by a nested call to the construct_and_init_backing_model
function. If initialization fails, an exception will be raised, with it's message saved as part of this object's state. However, regardless of the success of initialization, model_initialized
is set to true
after the attempt.
Additionally, if a successful model initialization is performed, bmi_model_time_convert_factor
is immediately thereafter set by passing it by reference in a call to acquire_time_conversion_factor
.
If an attempt to initialize the model has already been made (i.e., model_initialized
is true
), this function will either simply return or will throw a runtime_error, with its message including the message of the exception from the earlier attempt.
runtime_error | If called again after earlier call that resulted in an exception, or if BMI config file could not be read. |
models::external::State_Exception | If initialize() in nested model does not return successful. |
References models::bmi::Bmi_Adapter::bmi_init_config, models::bmi::Bmi_Adapter::bmi_model_time_convert_factor, models::bmi::Bmi_Adapter::construct_and_init_backing_model(), utils::FileChecker::file_is_readable(), models::bmi::Bmi_Adapter::get_time_convert_factor(), models::bmi::Bmi_Adapter::init_exception_msg, models::bmi::Bmi_Adapter::model_initialized, and models::bmi::Bmi_Adapter::model_name.
Referenced by models::bmi::Bmi_Adapter::Initialize().
|
overridevirtualinherited |
Initialize the wrapped BMI model object using the given config file and the object's Initialize
function.
If the given file is not the same as what is in bmi_init_config
and the model object has not already been initialized, this function will produce a warning message about the difference, then subsequently update
bmi_init_config`` to the given file. It will then proceed with initialization.
However, if the given file is not the same as what is in bmi_init_config
`, but the model has already been initialized, a runtime_error exception is thrown.
This otherwise operates using the logic of Initialize()
.
config_file |
models::external::State_Exception | If initialize() in nested model is not successful. |
runtime_error | If already initialized but using a different file than the passed argument. |
Implements bmi::Bmi.
References models::bmi::Bmi_Adapter::bmi_init_config, models::bmi::Bmi_Adapter::Initialize(), models::bmi::Bmi_Adapter::model_initialized, logging::warning(), and models::external::State_Exception::what().
|
pure virtualinherited |
Whether the backing model has been initialized yet.
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::inner_create_formulation(), and realization::Bmi_Cpp_Formulation::is_model_initialized().
|
inherited |
Get whether this instance has been initialized properly.
References models::bmi::Bmi_Adapter::model_initialized.
|
pure virtualinherited |
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_response().
|
pure virtualinherited |
Implemented in models::bmi::Bmi_C_Adapter, and models::bmi::Bmi_Cpp_Adapter.
Referenced by realization::Bmi_Module_Formulation::get_response().
|
protectedinherited |
Path (as a string) to the BMI config file for initializing the backing model (empty if none).
Referenced by models::bmi::Bmi_C_Adapter::construct_and_init_backing_model_for_type(), models::bmi::Bmi_Cpp_Adapter::construct_and_init_backing_model_for_type(), models::bmi::Bmi_Adapter::Initialize(), and models::bmi::Bmi_Adapter::Initialize().
|
private |
Path to the BMI shared library file, for dynamic linking.
Referenced by dynamic_library_load(), and dynamic_load_symbol().
|
protectedinherited |
Whether this particular model has a time step size that cannot be changed internally or externally.
Referenced by models::bmi::Bmi_C_Adapter::get_bmi_model_time_step_size_ptr(), and models::bmi::Bmi_Cpp_Adapter::get_bmi_model_time_step_size_ptr().
|
protectedinherited |
Conversion factor for converting values for model time in model's unit type to equivalent in seconds.
Referenced by models::bmi::Bmi_C_Adapter::Bmi_C_Adapter(), models::bmi::Bmi_Cpp_Adapter::Bmi_Cpp_Adapter(), models::bmi::Bmi_Adapter::convert_model_time_to_seconds(), models::bmi::Bmi_Adapter::convert_seconds_to_model_time(), and models::bmi::Bmi_Adapter::Initialize().
|
protectedinherited |
Pointer to stored time step size value of backing model, if it is fixed and has been retrieved.
Referenced by models::bmi::Bmi_C_Adapter::get_bmi_model_time_step_size_ptr(), and models::bmi::Bmi_Cpp_Adapter::get_bmi_model_time_step_size_ptr().
|
private |
Name of the function that registers BMI struct's function pointers to the right module functions.
Referenced by dynamic_library_load(), and get_bmi_registration_function().
|
private |
Handle for dynamically loaded library file.
Referenced by dynamic_library_load(), dynamic_load_symbol(), finalizeForLibAbstraction(), and get_dyn_lib_handle().
|
protectedinherited |
Message from an exception (if encountered) on the first attempt to initialize the backing model.
Referenced by models::bmi::Bmi_Adapter::Bmi_Adapter(), models::bmi::Bmi_C_Adapter::construct_and_init_backing_model_for_type(), dynamic_library_load(), dynamic_load_symbol(), models::bmi::Bmi_Cpp_Adapter::execModuleCreation(), models::bmi::Bmi_C_Adapter::execModuleRegistration(), and models::bmi::Bmi_Adapter::Initialize().
|
protectedinherited |
Pointer to collection of input variable names for backing model, used by GetInputVarNames()
.
Referenced by models::bmi::Bmi_C_Adapter::GetInputVarNames().
|
protectedinherited |
Whether the backing model has been initialized yet, which is always initially false
.
Referenced by models::bmi::Bmi_C_Adapter::Bmi_C_Adapter(), models::bmi::Bmi_Cpp_Adapter::Bmi_Cpp_Adapter(), models::bmi::Bmi_C_Adapter::construct_and_init_backing_model_for_type(), models::bmi::Bmi_Cpp_Adapter::construct_and_init_backing_model_for_type(), models::bmi::Bmi_C_Adapter::finalizeForCAdapter(), models::bmi::Bmi_Cpp_Adapter::finalizeForCppAdapter(), models::bmi::Bmi_Adapter::Initialize(), models::bmi::Bmi_Adapter::Initialize(), models::bmi::Bmi_C_Adapter::is_model_initialized(), models::bmi::Bmi_Cpp_Adapter::is_model_initialized(), and models::bmi::Bmi_Adapter::isInitialized().
|
protectedinherited |
|
protectedinherited |
Pointer to collection of output variable names for backing model, used by GetOutputVarNames()
.
Referenced by models::bmi::Bmi_C_Adapter::GetOutputVarNames().