C++11 Command Line Interface Parser
Public Types | Public Member Functions | List of all members
CLI::IsMember Class Reference

Verify items are in a set. More...

#include <Validators.hpp>

Inheritance diagram for CLI::IsMember:

Public Types

using filter_fn_t = std::function< std::string(std::string)>

Public Member Functions

template<typename T , typename... Args>
 IsMember (std::initializer_list< T > values, Args &&... args)
 This allows in-place construction using an initializer list.
template<typename T >
 IsMember (T &&set)
 This checks to see if an item is in a set (empty function)
template<typename T , typename F >
 IsMember (T set, F filter_function)
template<typename T , typename... Args>
 IsMember (T &&set, filter_fn_t filter_fn_1, filter_fn_t filter_fn_2, Args &&... other)
 You can pass in as many filter functions as you like, they nest (string only currently)
- Public Member Functions inherited from CLI::Validator
 Validator (std::string validator_desc)
 Construct a Validator with just the description string.
 Validator (std::function< std::string(std::string &)> op, std::string validator_desc, std::string validator_name="")
 Construct Validator from basic information.
Validatoroperation (std::function< std::string(std::string &)> op)
 Set the Validator operation function.
std::string operator() (std::string &str) const
std::string operator() (const std::string &str) const
Validatordescription (std::string validator_desc)
 Specify the type string.
Validator description (std::string validator_desc) const
 Specify the type string.
std::string get_description () const
 Generate type description information for the Validator.
Validatorname (std::string validator_name)
 Specify the type string.
Validator name (std::string validator_name) const
 Specify the type string.
const std::string & get_name () const
 Get the name of the Validator.
Validatoractive (bool active_val=true)
 Specify whether the Validator is active or not.
Validator active (bool active_val=true) const
 Specify whether the Validator is active or not.
Validatornon_modifying (bool no_modify=true)
 Specify whether the Validator can be modifying or not.
Validatorapplication_index (int app_index)
 Specify the application index of a validator.
Validator application_index (int app_index) const
 Specify the application index of a validator.
int get_application_index () const
 Get the current value of the application index.
bool get_active () const
 Get a boolean if the validator is active.
bool get_modifying () const
 Get a boolean if the validator is allowed to modify the input returns true if it can modify the input.
Validator operator & (const Validator &other) const
Validator operator| (const Validator &other) const
Validator operator! () const
 Create a validator that fails when a given validator succeeds.

Additional Inherited Members

- Protected Attributes inherited from CLI::Validator
std::function< std::string()> desc_function_ {[]() { return std::string{}; }}
 This is the description function, if empty the description_ will be used.
std::function< std::string(std::string &)> func_ {[](std::string &) { return std::string{}; }}
std::string name_ {}
 The name for search purposes of the Validator.
int application_index_ = -1
 A Validator will only apply to an indexed value (-1 is all elements)
bool active_ {true}
 Enable for Validator to allow it to be disabled if need be.
bool non_modifying_ {false}
 specify that a validator should not modify the input

Detailed Description

Verify items are in a set.

Constructor & Destructor Documentation

◆ IsMember()

template<typename T , typename F >
CLI::IsMember::IsMember ( set,

This checks to see if an item is in a set: pointer or copy version. You can pass in a function that will filter both sides of the comparison before computing the comparison.

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