include/pops/runtime/program/module_metadata.hpp File ReferenceΒΆ

adc_cpp: include/pops/runtime/program/module_metadata.hpp File Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
module_metadata.hpp File Reference
#include <cstdint>
#include <string>
#include <utility>
#include <vector>
#include <dlfcn.h>
+ Include dependency graph for module_metadata.hpp:

Go to the source code of this file.

Classes

struct  pops::runtime::program::OperatorMetadata
 One operator's metadata, as exported by the .so. More...
 
struct  pops::runtime::program::ModuleMetadata
 The GeneratedModule descriptor read from a problem.so. More...
 

Namespaces

namespace  pops
 
namespace  pops::runtime
 
namespace  pops::runtime::program
 
namespace  pops::runtime::program::detail
 

Typedefs

using pops::runtime::program::OperatorId = std::uint32_t
 Integer id of an operator within a module: its registration index.
 
using pops::runtime::program::SpaceId = std::uint32_t
 Integer id of a state or field space within a module.
 

Functions

std::string pops::runtime::program::detail::module_str (void *handle, const char *symbol, int i)
 Call a const char* (int) accessor at index i; empty string if the symbol is absent.
 
std::vector< std::string > pops::runtime::program::detail::module_names (void *handle, const char *count_symbol, const char *name_symbol)
 Read a (count, name) string table (state/field spaces) from the handle.
 
ModuleMetadata pops::runtime::program::read_module_metadata (void *dl_handle)
 Read the GeneratedModule metadata from an already-dlopen'd problem.so dl_handle.
 
std::vector< std::string > pops::runtime::program::required_string_list (const std::string &requirements_json, const std::string &key)
 Collect the quoted tokens of a JSON string array keyed by key inside the operator's flat requirements JSON, e.g.
 
std::string pops::runtime::program::requirement_string (const std::string &requirements_json, const std::string &key)
 Read a single quoted JSON string value keyed by key inside the operator's flat requirements JSON, e.g.
 
std::vector< std::string > pops::runtime::program::required_aux (const std::string &requirements_json)
 Aux-field names an operator requires (the "aux" array).
 
std::vector< std::string > pops::runtime::program::required_blocks (const std::string &requirements_json)
 Block-instance names an operator requires (the "block" array), e.g.
 
std::string pops::runtime::program::required_solver (const std::string &requirements_json)
 Solver name a field operator requires (the scalar "solver" value), e.g.