VISR  0.11.7
Versatile Interactive Scene Renderer
visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId > Class Template Reference

#include <parameter_factory.hpp>

Inheritance diagram for visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >:
visr::ParameterBase visr::pml::MatrixParameter< SampleType >

Public Types

using ParameterConfigType = ParameterConfigT
 

Public Member Functions

 TypedParameterBase ()=default
 
virtual ~TypedParameterBase ()=default
 
ParameterType type () final
 
std::unique_ptr< ParameterBaseclone () const final
 
void assign (ParameterBase const &rhs) override
 
- Public Member Functions inherited from visr::ParameterBase
 ParameterBase ()
 
 ParameterBase (const ParameterBase &)
 
ParameterBaseoperator= (const ParameterBase &)
 
virtual ~ParameterBase ()
 

Static Public Member Functions

static const constexpr ParameterType staticType ()
 

Detailed Description

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
class visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >

Base class template for parameter data with an associated parameter type id and configuration data type. This models the Curiously Recurring template pattern to provide methods as type(), clone() or a virtual assignment method in all template instantiations.

Member Typedef Documentation

◆ ParameterConfigType

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
using visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >::ParameterConfigType = ParameterConfigT

Constructor & Destructor Documentation

◆ TypedParameterBase()

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >::TypedParameterBase ( )
default

Default constructor

◆ ~TypedParameterBase()

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
virtual visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >::~TypedParameterBase ( )
virtualdefault

Destructor (virtual)

Member Function Documentation

◆ assign()

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
void visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >::assign ( ParameterBase const &  rhs)
inlineoverridevirtual

Virtual assignment method.

Parameters
rhsThe object to be copied.
Exceptions
std::invalid_argumentif the type of rhs does not match this object's type.

Implements visr::ParameterBase.

◆ clone()

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
std::unique_ptr<ParameterBase> visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >::clone ( ) const
inlinefinalvirtual

Clone method, i.e., virtual constructor.

Implements visr::ParameterBase.

◆ staticType()

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
static const constexpr ParameterType visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >::staticType ( )
inlinestatic

Return the static type of the parameter type (not the dynamic type associated with an instance)

◆ type()

template<typename ConcreteParameterType, class ParameterConfigT, ParameterType typeId>
ParameterType visr::TypedParameterBase< ConcreteParameterType, ParameterConfigT, typeId >::type ( )
inlinefinalvirtual

Return the dynamic parameter type of the object.

Implements visr::ParameterBase.


The documentation for this class was generated from the following files: