16#ifndef dealii_base_parameter_acceptor_h
17#define dealii_base_parameter_acceptor_h
26#include <boost/signals2/signal.hpp>
41 struct ParameterAcceptorCompare;
420 const std::string &output_filename =
"",
511 std::vector<std::string>
523 template <
class ParameterType>
526 ParameterType & parameter,
527 const std::string & documentation =
"",
627 static std::set<ParameterAcceptor *, internal::ParameterAcceptorCompare>
636 static const char sep =
'/';
697template <
class SourceClass>
706 template <
typename... Args>
727template <
class ParameterType>
730 ParameterType & parameter,
731 const std::string & documentation,
742template <
class SourceClass>
743template <
typename... Args>
745 const std::string §ion_name,
753template <
class SourceClass>
757 SourceClass::declare_parameters(prm);
762template <
class SourceClass>
766 SourceClass::parse_parameters(prm);
virtual void declare_parameters(ParameterHandler &prm) override
virtual void parse_parameters(ParameterHandler &prm) override
ParameterAcceptorProxy(const std::string §ion_name, Args... args)
virtual ~ParameterAcceptor() override
std::string get_section_name() const
boost::signals2::signal< void()> declare_parameters_call_back
static void declare_all_parameters(ParameterHandler &prm=ParameterAcceptor::prm)
unsigned int get_acceptor_id() const
const unsigned int acceptor_id
const std::string section_name
std::vector< std::string > subsections
static void initialize(const std::string &filename="", const std::string &output_filename="", const ParameterHandler::OutputStyle output_style_for_output_filename=ParameterHandler::Short, ParameterHandler &prm=ParameterAcceptor::prm, const ParameterHandler::OutputStyle output_style_for_filename=ParameterHandler::DefaultStyle)
static ParameterHandler prm
void leave_my_subsection(ParameterHandler &prm)
void enter_subsection(const std::string &subsection)
virtual void parse_parameters(ParameterHandler &prm)
static unsigned int get_next_free_id()
static void parse_all_parameters(ParameterHandler &prm=ParameterAcceptor::prm)
boost::signals2::signal< void()> parse_parameters_call_back
void enter_my_subsection(ParameterHandler &prm)
static std::mutex class_list_mutex
static std::set< ParameterAcceptor *, internal::ParameterAcceptorCompare > class_list
void add_parameter(const std::string &entry, ParameterType ¶meter, const std::string &documentation="", ParameterHandler &prm_=prm, const Patterns::PatternBase &pattern= *Patterns::Tools::Convert< ParameterType >::to_pattern())
virtual void declare_parameters(ParameterHandler &prm)
std::vector< std::string > get_section_path() const
void add_parameter(const std::string &entry, ParameterType ¶meter, const std::string &documentation="", const Patterns::PatternBase &pattern= *Patterns::Tools::Convert< ParameterType >::to_pattern(), const bool has_to_be_set=false)
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_CLOSE