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

adc_cpp: include/pops/runtime/program/external_brick.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
external_brick.hpp File Reference
#include <cstddef>
#include <string>
#include <unordered_map>
#include <vector>
+ Include dependency graph for external_brick.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  pops::runtime::program::BrickManifestEntry
 
class  pops::runtime::program::BrickRegistry
 

Namespaces

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

Macros

#define POPS_REGISTER_BRICK(brick_id, brick_category, brick_requirements)
 
#define POPS_REGISTER_BRICK_CAT_(a, b)   POPS_REGISTER_BRICK_CAT2_(a, b)
 
#define POPS_REGISTER_BRICK_CAT2_(a, b)   a##b
 
#define POPS_DEFINE_BRICK_MANIFEST()
 

Functions

std::string pops::runtime::program::json_escape (const std::string &s)
 
std::string pops::runtime::program::json_unescape (const std::string &s)
 

Macro Definition Documentation

◆ POPS_DEFINE_BRICK_MANIFEST

#define POPS_DEFINE_BRICK_MANIFEST ( )
Value:
extern "C" const char* pops_brick_manifest() { \
static const std::string manifest = \
::pops::runtime::program::BrickRegistry::instance().to_json(); \
return manifest.c_str(); \
}

◆ POPS_REGISTER_BRICK

#define POPS_REGISTER_BRICK (   brick_id,
  brick_category,
  brick_requirements 
)
Value:
static const bool POPS_REGISTER_BRICK_CAT_(pops_brick_registered_, __LINE__) = [] { \
::pops::runtime::program::BrickRegistry::instance().register_brick( \
{(brick_id), (brick_category), (brick_requirements), ""}); \
return true; \
}()
#define POPS_REGISTER_BRICK_CAT_(a, b)
Definition external_brick.hpp:203

◆ POPS_REGISTER_BRICK_CAT2_

#define POPS_REGISTER_BRICK_CAT2_ (   a,
 
)    a##b

◆ POPS_REGISTER_BRICK_CAT_

#define POPS_REGISTER_BRICK_CAT_ (   a,
 
)    POPS_REGISTER_BRICK_CAT2_(a, b)