$darkmode
cloe::FactoryPlugin< C, F > Class Template Reference
Inheritance diagram for cloe::FactoryPlugin< C, F >:
[legend]
Collaboration diagram for cloe::FactoryPlugin< C, F >:
[legend]

Public Member Functions

void add_plugin (const std::string &name, std::shared_ptr< Plugin > p)
 
- Public Member Functions inherited from fable::schema::FactoryBase< C, FactoryPointerless< C > >
 FactoryBase (std::string &&desc="")
 
 FactoryBase (std::string &&desc, FactoryPairList fs)
 
 FactoryBase (std::string &&desc, FactoryMap &&fs)
 
FactoryPointerless< C > factory_key (const std::string &keyword) &&
 
FactoryPointerless< C > args_key (const std::string &keyword) &&
 
FactoryPointerless< C > args_subset (bool value) &&
 
FactoryPointerless< C > transform_schema (TransformFunc f) &&
 
void set_factory_key (const std::string &keyword)
 
void set_args_key (const std::string &keyword)
 
void set_args_subset (bool value)
 
void set_transform_schema (TransformFunc f)
 
const TypeFactory & get_factory (const std::string &key) const
 
bool has_factory (const std::string &key) const
 
bool add_factory (const std::string &key, Box &&s, MakeFunc f)
 
void set_factory (const std::string &key, Box &&s, MakeFunc f)
 
void add_default_factory (const std::string &key)
 
Json json_schema () const override
 
void validate (const Conf &c) const override
 
Type make (const Conf &c) const
 
Type deserialize (const Conf &c) const
 
Json serialize (const Type &x) const
 
void from_conf (const Conf &c) override
 
void to_json (Json &j) const override
 
void reset_ptr () override
 
- Public Member Functions inherited from fable::schema::Base< FactoryPointerless< C > >
 Base (JsonType t, std::string &&desc)
 
 Base (JsonType t)
 
 Base (std::string &&desc)
 
Interfaceclone () const override
 
 operator Box () const
 
JsonType type () const override
 
std::string type_string () const override
 
Json usage () const override
 
bool is_required () const override
 
FactoryPointerless< C > require () &&
 
FactoryPointerless< C > required (bool value) &&
 
FactoryPointerless< C > reset_pointer () &&
 
bool has_description () const
 
void set_description (const std::string &s) override
 
void set_description (std::string &&s)
 
const std::string & description () const override
 
FactoryPointerless< C > description (std::string &&desc) &&
 
- Public Member Functions inherited from fable::schema::Interface
virtual bool is_variant () const
 
virtual bool is_valid (const Conf &c) const
 
virtual Json to_json () const
 

Additional Inherited Members

- Public Types inherited from fable::schema::FactoryBase< C, FactoryPointerless< C > >
using Type = C
 
using MakeFunc = std::function< C(const Conf &c)>
 
using TransformFunc = std::function< Box(Struct &&)>
 
using FactoryMap = std::map< std::string, TypeFactory >
 
using FactoryPairList = std::initializer_list< std::pair< std::string, TypeFactory > >
 
- Protected Member Functions inherited from fable::schema::FactoryBase< C, FactoryPointerless< C > >
void reset_schema ()
 
std::vector< Boxfactory_schemas () const
 
std::vector< Jsonfactory_json_schemas () const
 
- Protected Member Functions inherited from fable::schema::Base< FactoryPointerless< C > >
void validate_type (const Conf &c) const
 
void throw_error (const Conf &c, const char *format, Args... args) const
 
void throw_error (const ConfError &e) const
 
void throw_wrong_type (const Conf &c) const
 
void augment_schema (Json &j) const
 
- Protected Attributes inherited from fable::schema::FactoryBase< C, FactoryPointerless< C > >
std::shared_ptr< Variantschema_
 
TransformFunc transform_func_
 
FactoryMap available_
 
std::string factory_key_
 
std::string args_key_
 
bool args_subset_
 
- Protected Attributes inherited from fable::schema::Base< FactoryPointerless< C > >
JsonType type_
 
bool required_
 
std::string desc_
 

The documentation for this class was generated from the following file: