World Builder  1.1.0-pre
A geodynamic initial conditions generator
interface.h File Reference
Include dependency graph for interface.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  WorldBuilder::Point< dim >
 
class  WorldBuilder::Features::OceanicPlateModels::Temperature::Interface
 
class  WorldBuilder::Features::OceanicPlateModels::Temperature::ObjectFactory
 

Namespaces

 WorldBuilder
 
 WorldBuilder::Features
 
 WorldBuilder::Features::OceanicPlateModels
 
 WorldBuilder::Features::OceanicPlateModels::Temperature
 

Macros

#define WB_REGISTER_FEATURE_OCEANIC_PLATE_TEMPERATURE_MODEL(classname, name)
 

Macro Definition Documentation

◆ WB_REGISTER_FEATURE_OCEANIC_PLATE_TEMPERATURE_MODEL

#define WB_REGISTER_FEATURE_OCEANIC_PLATE_TEMPERATURE_MODEL (   classname,
  name 
)
Value:
class classname##Factory : public ObjectFactory { \
public: \
classname##Factory() \
{ \
Interface::registerType(#name, classname::declare_entries, this); \
} \
std::unique_ptr<Interface> create(World *world) override final { \
return std::unique_ptr<Interface>(new classname(world)); \
} \
}; \
static classname##Factory global_##classname##Factory;

A macro which should be in every derived cpp file to automatically register it. Because this is a library, we need some extra measures to ensure that the static variable is actually initialized.

Definition at line 151 of file interface.h.