31#ifndef TCLAP_XORHANDLER_H
32#define TCLAP_XORHANDLER_H
66 void add( std::vector<Arg*>& ors );
95 std::vector< std::vector<Arg*> >&
getXorList();
111 for (
int i = 0;
static_cast<unsigned int>(i) <
_orList.size(); i++ )
126 if ( (*ait)->allowMore() )
129 return static_cast<int>(
_orList[i].size());
141 for (
int i = 0;
static_cast<unsigned int>(i) <
_orList.size(); i++ )
A virtual base class that defines the essential data for all arguments.
virtual bool isRequired() const
Indicates whether the argument is required.
This class handles lists of Arg's that are to be XOR'd on the command line.
std::vector< std::vector< Arg * > > & getXorList()
bool contains(const Arg *a)
Simply checks whether the Arg is contained in one of the arg lists.
void printLongUsage(std::ostream &os)
Prints the XOR specific long usage.
int check(const Arg *a)
Checks whether the specified Arg is in one of the xor lists and if it does match one,...
std::vector< std::vector< Arg * > > _orList
The list of of lists of Arg's to be or'd together.
void add(std::vector< Arg * > &ors)
Add a list of Arg*'s that will be orred together.
std::string shortUsage()
Returns the XOR specific short usage.
EIGEN_STRONG_INLINE iterator begin()
EIGEN_STRONG_INLINE iterator end()
std::vector< Arg * >::iterator ArgVectorIterator
Typedef of an Arg vector iterator.