paludis Version 3.0.2
The one true package mangler
paludis::args::StringSequenceArg Class Reference

#include <args_option.hh>

Inheritance diagram for paludis::args::StringSequenceArg:

Public Member Functions

void add_argument (const std::string &arg)
bool can_be_negated () const override
const std::string forwardable_string () const override PALUDIS_ATTRIBUTE((warn_unused_result))
const std::shared_ptr< Sequence< std::string > > forwardable_args () const override PALUDIS_ATTRIBUTE((warn_unused_result))
Public Member Functions inherited from paludis::args::ArgsOption
void remove ()
const std::string & long_name () const
char short_name () const
const std::string & description () const
virtual bool specified () const
virtual bool explicitly_specified () const
virtual void set_specified (const ArgsOptionSpecifiedness value)
ArgsGroup * group ()
Public Member Functions inherited from paludis::DeclareAbstractAcceptMethods< ArgsOption, MakeTypeList< StringArg, AliasArg, SwitchArg, IntegerArg, EnumArg, StringSetArg, StringSequenceArg >::Type >
void accept (UnwrappedVisitor_ &v)
Result_ accept_returning (UnwrappedVisitor_ &v, const Result_ &r=Result_())
auto make_accept_returning (const Case_ &firstcase, const Cases_ &... cases) const -> CallResultType< Case_ >
void make_accept (const Cases_ &... cases) const
Public Member Functions inherited from paludis::DeclareAbstractAcceptMethods< ArgsOption, ArgsOption::VisitableTypeList >
void accept (UnwrappedVisitor_ &v)
Result_ accept_returning (UnwrappedVisitor_ &v, const Result_ &r=Result_())
auto make_accept_returning (const Case_ &firstcase, const Cases_ &... cases) const -> CallResultType< Case_ >
void make_accept (const Cases_ &... cases) const

Iterate over our args.

typedef WrappedForwardIterator< ConstIteratorTag, const std::string > ConstIterator
ConstIterator begin_args () const
ConstIterator end_args () const
IteratorRange< ConstIterator > args () const

Basic operations

 StringSequenceArg (ArgsGroup *const, const std::string &long_name, const char short_name, const std::string &description)

Additional Inherited Members

Public Types inherited from paludis::DeclareAbstractAcceptMethods< ArgsOption, MakeTypeList< StringArg, AliasArg, SwitchArg, IntegerArg, EnumArg, StringSetArg, StringSequenceArg >::Type >
typedef MakeTypeList< StringArg, AliasArg, SwitchArg, IntegerArg, EnumArg, StringSetArg, StringSequenceArg >::Type VisitableTypeList
typedef ArgsOption VisitableBaseClass
Public Types inherited from paludis::DeclareAbstractAcceptMethods< ArgsOption, ArgsOption::VisitableTypeList >
typedef ArgsOption::VisitableTypeList VisitableTypeList
typedef ArgsOption VisitableBaseClass
Protected Member Functions inherited from paludis::args::ArgsOption
 ArgsOption (ArgsGroup *const, const std::string &long_name, const char short_name, const std::string &description)
virtual ~ArgsOption ()=default

Detailed Description

An option that takes a set of strings.

Since
0.32

Member Function Documentation

◆ add_argument()

void paludis::args::StringSequenceArg::add_argument ( const std::string & arg)

Add an argument to the set.

◆ can_be_negated()

bool paludis::args::StringSequenceArg::can_be_negated ( ) const
overridevirtual

Can we be negated?

Needs to match up with ArgsVisitor logic.

Implements paludis::args::ArgsOption.

◆ forwardable_args()

const std::shared_ptr< Sequence< std::string > > paludis::args::StringSequenceArg::forwardable_args ( ) const
overridevirtual

Ourself as a sequence of strings.

For example, { '–foo', 'bar' } or { '–foo', 'bar', '–foo', 'baz' } if not specified, an empty sequence.

Since
0.46

Implements paludis::args::ArgsOption.

References forwardable_args(), and PALUDIS_ATTRIBUTE.

Referenced by forwardable_args().

◆ forwardable_string()

const std::string paludis::args::StringSequenceArg::forwardable_string ( ) const
overridevirtual

Ourself as a forwardable string.

For example, '–foo bar' or '–foo bar –foo baz' or '–foo', or if not specified, the empty string.

Since
0.40

Implements paludis::args::ArgsOption.

References PALUDIS_ATTRIBUTE.


The documentation for this class was generated from the following file: