A factor for subclasses of Interface. More...
#include <Registrar.h>
Classes | |
struct | ClassDescriptor |
The interface for class descriptors. More... | |
struct | GenericClassDescriptor |
A descriptor for a class C that provides parameters. More... | |
struct | GenericClassDescriptorNoParam |
A descriptor for a class C that does not provide any parameter. More... | |
Public Types | |
typedef Interface | TargetType |
alias to recover the template parameter More... | |
Public Member Functions | |
DescriptorMap::const_iterator | begin () const |
begin for const iterator over classes descriptions More... | |
std::shared_ptr< Interface > | create (const std::string &name, const Parametrizable::Parameters ¶ms=Parametrizable::Parameters()) const |
Create an instance. More... | |
std::shared_ptr< Interface > | createFromYAML (const YAML::Node &module) const |
Create an instance from a YAML node. More... | |
void | dump (std::ostream &stream) const |
Print the list of registered classes to stream. More... | |
DescriptorMap::const_iterator | end () const |
end for const iterator over classes descriptions More... | |
const Parametrizable::ParametersDoc | getAvailableParameters (const std::string &name) const |
Get all available parameters of a class. More... | |
const std::string | getDescription (const std::string &name) const |
Get the description of a class. More... | |
std::shared_ptr< ClassDescriptor > | getDescriptor (const std::string &name) const |
Return a descriptor following a name, throw an exception if name is invalid. More... | |
void | reg (const std::string &name, std::shared_ptr< ClassDescriptor > descriptor) |
Register a class by storing an instance of a descriptor helper class. More... | |
Protected Types | |
typedef std::map< std::string, std::shared_ptr< ClassDescriptor > > | DescriptorMap |
descriptors for sub-classes of Interface, indexed by their names More... | |
Protected Attributes | |
DescriptorMap | classes |
known classes that can be constructed More... | |
A factor for subclasses of Interface.
Definition at line 59 of file Registrar.h.
|
protected |
descriptors for sub-classes of Interface, indexed by their names
Definition at line 134 of file Registrar.h.
typedef Interface PointMatcherSupport::Registrar< Interface >::TargetType |
alias to recover the template parameter
Definition at line 62 of file Registrar.h.
|
inline |
begin for const iterator over classes descriptions
Definition at line 197 of file Registrar.h.
|
inline |
Create an instance.
Definition at line 161 of file Registrar.h.
|
inline |
Create an instance from a YAML node.
Definition at line 167 of file Registrar.h.
|
inline |
Print the list of registered classes to stream.
Definition at line 190 of file Registrar.h.
|
inline |
end for const iterator over classes descriptions
Definition at line 203 of file Registrar.h.
|
inline |
Get all available parameters of a class.
Definition at line 184 of file Registrar.h.
|
inline |
Get the description of a class.
Definition at line 178 of file Registrar.h.
|
inline |
Return a descriptor following a name, throw an exception if name is invalid.
Definition at line 145 of file Registrar.h.
|
inline |
Register a class by storing an instance of a descriptor helper class.
Definition at line 139 of file Registrar.h.
|
protected |
known classes that can be constructed
Definition at line 135 of file Registrar.h.