$darkmode
#include <factory.hpp>
Public Member Functions | |
| FactoryPointerless (const FactoryPointerless< T > &other)=default | |
| FactoryPointerless (FactoryPointerless< T > &&other) noexcept=default | |
| FactoryPointerless< T > & | operator= (const FactoryPointerless< T > &other)=default |
| FactoryPointerless< T > & | operator= (FactoryPointerless< T > &&other) noexcept=default |
Public Member Functions inherited from fable::schema::FactoryBase< T, FactoryPointerless< T > > | |
| FactoryBase (std::string desc="") | |
| FactoryBase (std::string desc, FactoryPairList fs) | |
| FactoryBase (std::string desc, FactoryMap &&fs) | |
| FactoryPointerless< T > | factory_key (const std::string &keyword) && |
| FactoryPointerless< T > | args_key (const std::string &keyword) && |
| FactoryPointerless< T > | args_subset (bool value) && |
| FactoryPointerless< T > | 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 |
| std::vector< std::string > | get_factory_keys () 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 |
| bool | validate (const Conf &c, std::optional< SchemaError > &err) const override |
| Type | make (const Conf &c) const |
| Type | deserialize (const Conf &c) const |
| Json | serialize (const Type &x) const |
| void | serialize_into (Json &j, const Type &x) const |
| void | deserialize_into (const Conf &c, Type &x) const |
| void | from_conf (const Conf &) override |
| void | to_json (Json &) const override |
| virtual Json | to_json () const |
| virtual void | to_json (Json &) const =0 |
| void | reset_ptr () override |
Public Member Functions inherited from fable::schema::Base< FactoryPointerless< T > > | |
| std::unique_ptr< Interface > | clone () 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< T > | require () && |
| FactoryPointerless< T > | required (bool value) && |
| FactoryPointerless< T > | reset_pointer () && |
| bool | has_description () const |
| void | set_description (std::string s) override |
| const std::string & | description () const override |
| FactoryPointerless< T > | description (std::string desc) && |
Public Member Functions inherited from fable::schema::Interface | |
| virtual bool | is_variant () const |
| virtual void | validate_or_throw (const Conf &c) const final |
| virtual std::optional< SchemaError > | fail (const Conf &c) const final |
| virtual bool | is_valid (const Conf &c) const final |
| virtual Json | to_json () const |
Additional Inherited Members | |
Public Types inherited from fable::schema::FactoryBase< T, FactoryPointerless< T > > | |
| using | Type = T |
| using | MakeFunc = std::function< T(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< T, FactoryPointerless< T > > | |
| FactoryBase (const FactoryBase &other) | |
| FactoryBase (FactoryBase &&) noexcept=default | |
| FactoryBase & | operator= (const FactoryBase &other) |
| FactoryBase & | operator= (FactoryBase &&) noexcept=default |
| void | reset_schema () |
| std::vector< Box > | factory_schemas () const |
| std::vector< Json > | factory_json_schemas () const |
Protected Member Functions inherited from fable::schema::Base< FactoryPointerless< T > > | |
| Base (const Base< FactoryPointerless< T > > &)=default | |
| Base (Base< FactoryPointerless< T > > &&) noexcept=default | |
| Base (JsonType t, std::string desc) | |
| Base (JsonType t) | |
| Base (std::string desc) | |
| Base< FactoryPointerless< T > > & | operator= (const Base< FactoryPointerless< T > > &)=default |
| Base< FactoryPointerless< T > > & | operator= (Base< FactoryPointerless< T > > &&) noexcept=default |
| bool | validate_type (const Conf &c, std::optional< SchemaError > &err) const |
| SchemaError | error (const Conf &c, std::string_view format, Args &&... args) const |
| SchemaError | error (const ConfError &e) const |
| SchemaError | wrong_type (const Conf &c) const |
| bool | set_error (std::optional< SchemaError > &err, const Conf &c, std::string_view format, Args &&... args) const |
| bool | set_error (std::optional< SchemaError > &err, const ConfError &e) const |
| bool | set_error (std::optional< SchemaError > &err, SchemaError &&e) const |
| bool | set_wrong_type (std::optional< SchemaError > &err, const Conf &c) const |
| void | augment_schema (Json &j) const |
Protected Member Functions inherited from fable::schema::Interface | |
| Interface (const Interface &)=default | |
| Interface (Interface &&) noexcept=default | |
| Interface & | operator= (const Interface &)=default |
| Interface & | operator= (Interface &&) noexcept=default |
Protected Attributes inherited from fable::schema::FactoryBase< T, FactoryPointerless< T > > | |
| std::unique_ptr< Variant > | schema_ |
| TransformFunc | transform_func_ |
| FactoryMap | available_ |
| std::string | factory_key_ |
| std::string | args_key_ |
| bool | args_subset_ |
Protected Attributes inherited from fable::schema::Base< FactoryPointerless< T > > | |
| JsonType | type_ |
| bool | required_ |
| std::string | desc_ |
FactoryPointerless is a factory schema that does not refer to any variable instance but is only usable through it's make() method.