delphyne
Type< Base >::ConstructibleWith< Args > Class Template Referenceabstract

Detailed Description

template<class Base>
template<typename... Args>
class delphyne::utility::internal::Type< Base >::ConstructibleWith< Args >

A runtime representation of an abstract Type that may be constructible from a given set of parameter types on a derived type.

Template Parameters
ArgsParameters type pack that may be used for construction of a derived type.

#include <include/delphyne/utility/resources/resources.h>

Inheritance diagram for Type< Base >::ConstructibleWith< Args >:
[legend]

Public Member Functions

 DELPHYNE_NO_COPY_NO_MOVE_NO_ASSIGN (ConstructibleWith)
 
virtual std::unique_ptr< BaseInstantiate (Args... args) const =0
 Instantiates an object of class Base with the provided args. More...
 
virtual ~ConstructibleWith ()=default
 
- Public Member Functions inherited from Type< Base >
 DELPHYNE_NO_COPY_NO_MOVE_NO_ASSIGN (Type)
 
virtual ~Type ()=default
 

Protected Member Functions

 ConstructibleWith ()=default
 
- Protected Member Functions inherited from Type< Base >
 Type ()=default
 

Constructor & Destructor Documentation

◆ ~ConstructibleWith()

virtual ~ConstructibleWith ( )
virtualdefault

◆ ConstructibleWith()

ConstructibleWith ( )
protecteddefault

Member Function Documentation

◆ DELPHYNE_NO_COPY_NO_MOVE_NO_ASSIGN()

DELPHYNE_NO_COPY_NO_MOVE_NO_ASSIGN ( ConstructibleWith< Args >  )

◆ Instantiate()

virtual std::unique_ptr<Base> Instantiate ( Args...  args) const
pure virtual

Instantiates an object of class Base with the provided args.

Parameters
argsParameter pack for construction.
Returns
The instantiated Base object.

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