MayaFlux 1.0.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ create_expanse() [1/4]

template<typename T , typename... Args>
std::shared_ptr< T > MayaFlux::Nexus::Tapestry::create_expanse ( std::string  name,
Args &&...  args 
)
inline

Create and register a named Expanse of a derived type.

Template Parameters
TExpanse subclass, for example Hull.
Parameters
argsForwarded to T's constructor.
Returns
Shared pointer to the Expanse, for passing to Fabric::add_expanse. A name already in use warns and returns the existing Expanse, or null if that one is not a T.

Definition at line 132 of file Tapestry.hpp.

133 {
134 static_assert(std::is_base_of_v<Expanse, T>, "T must derive from Expanse");
135 return std::dynamic_pointer_cast<T>(
136 claim(std::move(name), std::make_shared<T>(std::forward<Args>(args)...)));
137 }
std::string name
Definition VKDevice.cpp:123
std::shared_ptr< Expanse > claim(std::string name, std::shared_ptr< Expanse > expanse)
Definition Tapestry.cpp:112

References name.