diff --git a/include/bout/generic_factory.hxx b/include/bout/generic_factory.hxx index 45454a9e75..10c40a9942 100644 --- a/include/bout/generic_factory.hxx +++ b/include/bout/generic_factory.hxx @@ -36,6 +36,7 @@ /// }; /// /// class MyFactory : public Factory { +/// public: /// static constexpr auto type_name = "Base"; /// static constexpr auto section_name = "base"; /// static constexpr auto option_name = "type"; @@ -45,6 +46,14 @@ /// RegisterInFactory register("derived_type"); /// auto foo = MyFactory::getInstance().create("derived_type"); /// +/// In a .cxx file the static members should be declared: +/// +/// constexpr decltype(MyFactory::type_name) MyFactory::type_name; +/// constexpr decltype(MyFactory::section_name) MyFactory::section_name; +/// constexpr decltype(MyFactory::option_name) MyFactory::option_name; +/// constexpr decltype(MyFactory::default_type) MyFactory::default_type; +/// +/// /// @tparam BaseType The base class that this factory creates /// @tparam DerivedFactory The derived factory inheriting from this class /// @tparam TypeCreator The function signature for creating a new BaseType