xentara-plugin v1.2.1
The Xentara Plugin Framework
Loading...
Searching...
No Matches
xentara::plugin::SharedFactory< BaseClass > Class Template Referenceabstract

A factory for creating I/O components. More...

#include <plugin/SharedFactory.hpp>

+ Inheritance diagram for xentara::plugin::SharedFactory< BaseClass >:

Public Member Functions

virtual ~SharedFactory ()=0
 Virtual destructor.
 
template<std::derived_from< BaseClass > Derived, typename... Arguments>
auto makeShared (Arguments &&... arguments) const -> std::shared_ptr< Derived >
 Creates a shared pointer containing an element.
 
- Public Member Functions inherited from xentara::utils::tools::Unique
constexpr Unique () noexcept=default
 
constexpr Unique (Unique &&) noexcept=default
 
constexpr Uniqueoperator= (Unique &&) noexcept=default
 
 Unique (const Unique &)=delete
 
Uniqueoperator= (const Unique &)=delete
 

Detailed Description

template<typename BaseClass>
class xentara::plugin::SharedFactory< BaseClass >

A factory for creating I/O components.

Constructor & Destructor Documentation

◆ ~SharedFactory()

template<typename BaseClass >
xentara::plugin::SharedFactory< BaseClass >::~SharedFactory ( )
pure virtualdefault

Virtual destructor.

Member Function Documentation

◆ makeShared()

template<typename BaseClass >
template<std::derived_from< BaseClass > Derived, typename... Arguments>
auto xentara::plugin::SharedFactory< BaseClass >::makeShared ( Arguments &&...  arguments) const -> std::shared_ptr<Derived>

Creates a shared pointer containing an element.

Template Parameters
DerivedThe class of the object to be created
Parameters
argumentsThe arguments for the constructor
Returns