Skip to content

cvedia::rt::Factory

More...

Public Functions

Name
NODISCARD cvedia::rt::expected< std::shared_ptr< T > > create(std::string const & implementation, Args &&... args)
NODISCARD cvedia::rt::expected< std::unique_ptr< T > > createUnique(std::string const & implementation, Args &&... args)
void registerImplementation(std::string const & implementation, createFunc f)
void provideExistingInstance(std::shared_ptr< T > inst)
void provideExistingUniqueInstance(std::unique_ptr< T > inst)

Detailed Description

template <class T ,
typename ... Args>
class cvedia::rt::Factory;

Public Functions Documentation

function create

static NODISCARD cvedia::rt::expected< std::shared_ptr< T > > create(
    std::string const & implementation,
    Args &&... args
)

function createUnique

static NODISCARD cvedia::rt::expected< std::unique_ptr< T > > createUnique(
    std::string const & implementation,
    Args &&... args
)

function registerImplementation

static void registerImplementation(
    std::string const & implementation,
    createFunc f
)

function provideExistingInstance

static void provideExistingInstance(
    std::shared_ptr< T > inst
)

function provideExistingUniqueInstance

static void provideExistingUniqueInstance(
    std::unique_ptr< T > inst
)