Classes | Public Types | Public Member Functions | Protected Types | Protected Attributes
PointMatcherSupport::Registrar< Interface > Struct Template Reference

A factor for subclasses of Interface. More...

#include <Registrar.h>

List of all members.

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

Public Member Functions

DescriptorMap::const_iterator begin () const
 begin for const iterator over classes descriptions
std::shared_ptr< Interface > create (const std::string &name, const Parametrizable::Parameters &params=Parametrizable::Parameters()) const
 Create an instance.
std::shared_ptr< Interface > createFromYAML (const YAML::Node &module) const
 Create an instance from a YAML node.
void dump (std::ostream &stream) const
 Print the list of registered classes to stream.
DescriptorMap::const_iterator end () const
 end for const iterator over classes descriptions
const std::string getDescription (const std::string &name) const
 Get the description of a class.
const ClassDescriptorgetDescriptor (const std::string &name) const
 Return a descriptor following a name, throw an exception if name is invalid.
void reg (const std::string &name, ClassDescriptor *descriptor)
 Register a class by storing an instance of a descriptor helper class.
 ~Registrar ()
 Destructor, remove all classes descriptors.

Protected Types

typedef std::map< std::string,
ClassDescriptor * > 
DescriptorMap
 descriptors for sub-classes of Interface, indexed by their names

Protected Attributes

DescriptorMap classes
 known classes that can be constructed

Detailed Description

template<typename Interface>
struct PointMatcherSupport::Registrar< Interface >

A factor for subclasses of Interface.

Definition at line 76 of file Registrar.h.


Member Typedef Documentation

template<typename Interface >
typedef std::map<std::string, ClassDescriptor*> PointMatcherSupport::Registrar< Interface >::DescriptorMap [protected]

descriptors for sub-classes of Interface, indexed by their names

Definition at line 147 of file Registrar.h.

template<typename Interface >
typedef Interface PointMatcherSupport::Registrar< Interface >::TargetType

alias to recover the template parameter

Definition at line 79 of file Registrar.h.


Constructor & Destructor Documentation

template<typename Interface >
PointMatcherSupport::Registrar< Interface >::~Registrar ( ) [inline]

Destructor, remove all classes descriptors.

Definition at line 152 of file Registrar.h.


Member Function Documentation

template<typename Interface >
DescriptorMap::const_iterator PointMatcherSupport::Registrar< Interface >::begin ( ) const [inline]

begin for const iterator over classes descriptions

Definition at line 209 of file Registrar.h.

template<typename Interface >
std::shared_ptr<Interface> PointMatcherSupport::Registrar< Interface >::create ( const std::string &  name,
const Parametrizable::Parameters params = Parametrizable::Parameters() 
) const [inline]

Create an instance.

Definition at line 179 of file Registrar.h.

template<typename Interface >
std::shared_ptr<Interface> PointMatcherSupport::Registrar< Interface >::createFromYAML ( const YAML::Node module) const [inline]

Create an instance from a YAML node.

Definition at line 185 of file Registrar.h.

template<typename Interface >
void PointMatcherSupport::Registrar< Interface >::dump ( std::ostream &  stream) const [inline]

Print the list of registered classes to stream.

Definition at line 202 of file Registrar.h.

template<typename Interface >
DescriptorMap::const_iterator PointMatcherSupport::Registrar< Interface >::end ( ) const [inline]

end for const iterator over classes descriptions

Definition at line 214 of file Registrar.h.

template<typename Interface >
const std::string PointMatcherSupport::Registrar< Interface >::getDescription ( const std::string &  name) const [inline]

Get the description of a class.

Definition at line 196 of file Registrar.h.

template<typename Interface >
const ClassDescriptor* PointMatcherSupport::Registrar< Interface >::getDescriptor ( const std::string &  name) const [inline]

Return a descriptor following a name, throw an exception if name is invalid.

Definition at line 164 of file Registrar.h.

template<typename Interface >
void PointMatcherSupport::Registrar< Interface >::reg ( const std::string &  name,
ClassDescriptor descriptor 
) [inline]

Register a class by storing an instance of a descriptor helper class.

Definition at line 158 of file Registrar.h.


Member Data Documentation

template<typename Interface >
DescriptorMap PointMatcherSupport::Registrar< Interface >::classes [protected]

known classes that can be constructed

Definition at line 148 of file Registrar.h.


The documentation for this struct was generated from the following file:


libpointmatcher
Author(s):
autogenerated on Thu Jun 20 2019 19:51:34