3.0.0
Freundlich's C++ toolkit
Public Types | Public Member Functions
fcppt::options::many< Parser > Class Template Reference

Detailed Description

template<typename Parser>
class fcppt::options::many< Parser >

A parser for zero or more elements.

Wraps a parser such that it may apply zero or more times. The result type is a record that adds one layer of std::vector to the elements of the result type of Parser.

See also
fcppt::options::make_many

Public Types

typedef fcppt::record::map_elements< fcppt::options::result_of< Parser >, ::brigand::bind< std::vector, ::brigand::bind< fcppt::record::element_to_type, ::brigand::_1 > > > result_type
 

Public Member Functions

 many (Parser &&)
 
 many (many const &)
 
 many (many &&)
 
manyoperator= (many const &)
 
manyoperator= (many &&)
 
 ~many ()
 
fcppt::options::parse_result< result_typeparse (fcppt::options::state &&, fcppt::options::parse_context const &) const
 
fcppt::options::flag_name_set flag_names () const
 
fcppt::options::option_name_set option_names () const
 
fcppt::string usage () const
 

Member Typedef Documentation

◆ result_type

template<typename Parser >
typedef fcppt::record::map_elements< fcppt::options::result_of< Parser >, ::brigand::bind< std::vector, ::brigand::bind< fcppt::record::element_to_type, ::brigand::_1 > > > fcppt::options::many< Parser >::result_type

Constructor & Destructor Documentation

◆ many() [1/3]

template<typename Parser >
fcppt::options::many< Parser >::many ( Parser &&  )
explicit

◆ many() [2/3]

template<typename Parser >
fcppt::options::many< Parser >::many ( many< Parser > const &  )

◆ many() [3/3]

template<typename Parser >
fcppt::options::many< Parser >::many ( many< Parser > &&  )

◆ ~many()

template<typename Parser >
fcppt::options::many< Parser >::~many ( )

Member Function Documentation

◆ flag_names()

template<typename Parser >
fcppt::options::flag_name_set fcppt::options::many< Parser >::flag_names ( ) const

◆ operator=() [1/2]

template<typename Parser >
many& fcppt::options::many< Parser >::operator= ( many< Parser > const &  )

◆ operator=() [2/2]

template<typename Parser >
many& fcppt::options::many< Parser >::operator= ( many< Parser > &&  )

◆ option_names()

template<typename Parser >
fcppt::options::option_name_set fcppt::options::many< Parser >::option_names ( ) const

◆ parse()

template<typename Parser >
fcppt::options::parse_result< result_type > fcppt::options::many< Parser >::parse ( fcppt::options::state &&  ,
fcppt::options::parse_context const &   
) const

◆ usage()

template<typename Parser >
fcppt::string fcppt::options::many< Parser >::usage ( ) const