|
paludis Version 3.0.2
The one true package mangler
|
#include <args_option.hh>
Public Member Functions | |
| 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 () |
| virtual bool | can_be_negated () const =0 |
| virtual const std::string | forwardable_string () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| virtual const std::shared_ptr< Sequence< std::string > > | forwardable_args () const PALUDIS_ATTRIBUTE((warn_unused_result))=0 |
| 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 |
Protected Member Functions | |
| ArgsOption (ArgsGroup *const, const std::string &long_name, const char short_name, const std::string &description) | |
| virtual | ~ArgsOption ()=default |
Friends | |
| class | ArgsHandler |
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 |
Base class for a command line option.
|
protected |
Constructor.
References description(), long_name(), and short_name().
|
protectedvirtualdefault |
Destructor.
|
pure virtual |
Can we be negated?
Needs to match up with ArgsVisitor logic.
Implemented in paludis::args::AliasArg, paludis::args::EnumArg, paludis::args::IntegerArg, paludis::args::StringArg, paludis::args::StringSequenceArg, paludis::args::StringSetArg, and paludis::args::SwitchArg.
|
inline |
Fetch our description.
Referenced by ArgsOption(), paludis::args::EnumArg::EnumArg(), paludis::args::IntegerArg::IntegerArg(), paludis::args::StringArg::StringArg(), paludis::args::StringArg::StringArg(), and paludis::args::SwitchArg::SwitchArg().
|
inlinevirtual |
Fetch whether or not we were explicitly (not an env var) specified. Used to catch -x y -x z where -x takes a single value.
Reimplemented in paludis::args::AliasArg.
|
pure virtual |
Ourself as a sequence of strings.
For example, { '–foo', 'bar' } or { '–foo', 'bar', '–foo', 'baz' } if not specified, an empty sequence.
Implemented in paludis::args::AliasArg, paludis::args::EnumArg, paludis::args::IntegerArg, paludis::args::StringArg, paludis::args::StringSequenceArg, paludis::args::StringSetArg, and paludis::args::SwitchArg.
References forwardable_args(), and PALUDIS_ATTRIBUTE.
Referenced by forwardable_args().
|
pure virtual |
Ourself as a forwardable string.
For example, '–foo bar' or '–foo bar –foo baz' or '–foo', or if not specified, the empty string.
Implemented in paludis::args::AliasArg, paludis::args::EnumArg, paludis::args::IntegerArg, paludis::args::StringArg, paludis::args::StringSequenceArg, paludis::args::StringSetArg, and paludis::args::SwitchArg.
References PALUDIS_ATTRIBUTE.
|
inline |
Fetch our group.
Referenced by paludis::args::EnumArg::EnumArg(), and paludis::args::SwitchArg::SwitchArg().
|
inline |
Fetch our long name.
Referenced by ArgsOption(), paludis::args::EnumArg::EnumArg(), paludis::args::IntegerArg::IntegerArg(), paludis::args::StringArg::StringArg(), paludis::args::StringArg::StringArg(), and paludis::args::SwitchArg::SwitchArg().
| void paludis::args::ArgsOption::remove | ( | ) |
Remove this option. Removes our group from its section if the group would be left empty.
|
inlinevirtual |
Set the value returned by specified().
Reimplemented in paludis::args::AliasArg.
|
inline |
Fetch our short name (may be 0).
Referenced by ArgsOption(), paludis::args::EnumArg::EnumArg(), paludis::args::IntegerArg::IntegerArg(), paludis::args::StringArg::StringArg(), paludis::args::StringArg::StringArg(), and paludis::args::SwitchArg::SwitchArg().
|
inlinevirtual |
Fetch whether or not we were specified on the command line (or as an env var).
Reimplemented in paludis::args::AliasArg.