Freundlich's C++ toolkit
No Matches
Public Types | Public Member Functions | Protected Member Functions
fcppt::options::base< Result > Class Template Referenceabstract

Detailed Description

template<typename Result>
class fcppt::options::base< Result >

The base class for parsers with a given result type.

This class serves as a base class for a concrete parser using Result as its result type. Hiding a concrete parser implementation is not necessary, but it can reduce compile times, and it hides the concrete (permuted) result type.

Template Parameters
ResultThe result type of the parser. Must be an fcppt::record::object.

Public Types

using result_type = Result

Public Member Functions

virtual ~base ()=0
virtual fcppt::options::parse_result< result_typeparse (fcppt::options::state &&, fcppt::options::parse_context const &) const =0
virtual fcppt::options::flag_name_set flag_names () const =0
virtual fcppt::options::option_name_set option_names () const =0
virtual fcppt::options::usage usage () const =0

Protected Member Functions

 base ()

Member Typedef Documentation

◆ result_type

template<typename Result >
using fcppt::options::base< Result >::result_type = Result

Constructor & Destructor Documentation

◆ base()

template<typename Result >
fcppt::options::base< Result >::base ( )

◆ ~base()

template<typename Result >
virtual fcppt::options::base< Result >::~base ( )
pure virtual

Member Function Documentation

◆ flag_names()

template<typename Result >
virtual fcppt::options::flag_name_set fcppt::options::base< Result >::flag_names ( ) const
pure virtual

◆ option_names()

template<typename Result >
virtual fcppt::options::option_name_set fcppt::options::base< Result >::option_names ( ) const
pure virtual

◆ parse()

template<typename Result >
virtual fcppt::options::parse_result< result_type > fcppt::options::base< Result >::parse ( fcppt::options::state &&  ,
fcppt::options::parse_context const &   
) const
pure virtual

◆ usage()

template<typename Result >
virtual fcppt::options::usage fcppt::options::base< Result >::usage ( ) const
pure virtual