#include <factory.hpp>
Public Types | |
using | Result = std::unique_ptr< T > |
using | Function = std::function< Result(Args...)> |
Public Member Functions | |
Result | create (const std::string &name, Args... args) const |
Result | create (Args... args) const |
bool | add (const std::string &name, Function f) |
bool | configure_default (const std::string &name) |
Private Types | |
using | map_type = std::map< std::string, Function > |
Private Attributes | |
map_type | m_functions |
map_type::const_iterator | m_default |
Factory for a group of classes implementing T
Definition at line 16 of file factory.hpp.
using vanetza::Factory< T, Args >::Function = std::function<Result(Args...)> |
Definition at line 20 of file factory.hpp.
|
private |
Definition at line 77 of file factory.hpp.
using vanetza::Factory< T, Args >::Result = std::unique_ptr<T> |
Definition at line 19 of file factory.hpp.
|
inline |
Definition at line 22 of file factory.hpp.
|
inline |
Add an implementation to factory
name | of implementation |
f | function creating a new instance of this implementation |
Definition at line 60 of file factory.hpp.
|
inline |
Set default implementation
name | selected default implementation |
Definition at line 70 of file factory.hpp.
|
inline |
Create object using default implementation
Definition at line 45 of file factory.hpp.
|
inline |
Create an instance of T using a named implementation
name | of wanted implementation |
Definition at line 31 of file factory.hpp.
|
private |
Definition at line 79 of file factory.hpp.
|
private |
Definition at line 78 of file factory.hpp.