Classes | Namespaces | Macros | Functions
VesselRegister.h File Reference
#include <string>
#include <cstring>
#include <vector>
#include <map>
#include <memory>
#include "tools/Exception.h"
#include "tools/Keywords.h"

Classes

class  PLMD::vesselbase::VesselRegister
 

Namespaces

 PLMD
 
 PLMD::vesselbase
 

Macros

#define PLUMED_REGISTER_VESSEL(classname, keyword)
 

Functions

VesselRegister & PLMD::vesselbase::vesselRegister ()
 

Macro Definition Documentation

◆ PLUMED_REGISTER_VESSEL

#define PLUMED_REGISTER_VESSEL (   classname,
  keyword 
)
Value:
static class classname##RegisterMe{ \
static std::unique_ptr<PLMD::vesselbase::Vessel> create(const PLMD::vesselbase::VesselOptions&da){return std::unique_ptr<classname>( new classname(da) );} \
public: \
classname##RegisterMe(){PLMD::vesselbase::vesselRegister().add(keyword,create,classname::reserveKeyword,classname::registerKeywords);} \
~classname##RegisterMe(){PLMD::vesselbase::vesselRegister().remove(create);} \
} classname##RegisterMeObject;
PLMD::vesselbase::VesselOptions
This class is used to pass the input to Vessels.
Definition: Vessel.h:53
PLMD::vesselbase::VesselRegister::add
void add(std::string keyword, creator_pointer, keyword_pointer k, keyword_pointer ik)
Add a new distribution function option to the register of distribution functions.
Definition: VesselRegister.cpp:50
PLMD::vesselbase::VesselRegister::remove
void remove(creator_pointer f)
Remove a distribution function from the register of distribution functions.
Definition: VesselRegister.cpp:42
PLMD::blas::da
double da
Definition: blas.cpp:97
PLMD::vesselbase::vesselRegister
VesselRegister & vesselRegister()
Definition: VesselRegister.cpp:37