class openvino::cc::Factory

class openvino::cc::Factory<Key, T(Args…)>

#include <factory.h>

template <typename Key, typename T, typename... Args>
class Factory<Key, T(Args...)>
{
public:
    // typedefs

    typedef std::function<T(Args...)> builder_t;

    // structs

    template <typename K>
    struct Factory<Key, T(Args...)>;

    // construction

    Factory(const std::string& name);

    // methods

    template <typename Impl>
    void registerImpl(const Key& key);

    T createImpl(const Key& key, Args... args);

    template <typename Fn>
    void foreach(Fn fn) const;

    size_t size() const;
};