$darkmode
#include <type_traits>#include <fable/fable_fwd.hpp>#include <fable/schema/confable.hpp>#include <fable/schema/interface.hpp>Go to the source code of this file.
Functions | |
| template<typename T , typename S = std::string, std::enable_if_t< std::is_base_of_v< Confable, T >, int > = 0> | |
| auto | fable::schema::make_prototype (S &&desc="") |
This file defines the make_prototype functions that can automatically derive the prototype via the make_schema functions. It also contains the definitions of constructors that make use of these functions.
Unfortunately, all make_schema functions need to already be defined at the point of definition of these constructors, which is why they have to be in this file in the first place.
So we declare the constructors in their relative class definitions, and we define them here. This file is then included after all other files. And then it works.