Loading...
Searching...
No Matches
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

namespace  PLMD
namespace  PLMD::vesselbase

Macros

#define PLUMED_REGISTER_VESSEL(classname, keyword)

Functions

VesselRegisterPLMD::vesselbase::vesselRegister ()

Macro Definition Documentation

◆ PLUMED_REGISTER_VESSEL

#define PLUMED_REGISTER_VESSEL ( classname,
keyword )
Value:
namespace { class classname##RegisterMe{ \
static std::unique_ptr<PLMD::vesselbase::Vessel> create(const PLMD::vesselbase::VesselOptions&da){return Tools::make_unique<classname>(da);} \
public: \
classname##RegisterMe(){PLMD::vesselbase::vesselRegister().add(keyword,create,classname::reserveKeyword,classname::registerKeywords);} \
~classname##RegisterMe(){PLMD::vesselbase::vesselRegister().remove(create);} \
} classname##RegisterMeObject; }
This class is used to pass the input to Vessels.
Definition Vessel.h:53
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
void remove(creator_pointer f)
Remove a distribution function from the register of distribution functions.
Definition VesselRegister.cpp:42
VesselRegister & vesselRegister()
Definition VesselRegister.cpp:37