CLI11
C++11 Command Line Interface Parser
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
CLI::Validator Class Reference

Some validators that are provided. More...

#include <Validators.hpp>

Inheritance diagram for CLI::Validator:
CLI::AsNumberWithUnit CLI::Bound CLI::CheckedTransformer CLI::CustomValidator CLI::FileOnDefaultPath CLI::IsMember CLI::Range CLI::Transformer CLI::TypeValidator< DesiredType > CLI::detail::EscapedStringTransformer CLI::detail::ExistingDirectoryValidator CLI::detail::ExistingFileValidator CLI::detail::ExistingPathValidator CLI::detail::IPV4Validator CLI::detail::NonexistentPathValidator

Public Member Functions

 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.
 
CLI11_NODISCARD Validator description (std::string validator_desc) const
 Specify the type string.
 
CLI11_NODISCARD std::string get_description () const
 Generate type description information for the Validator.
 
Validatorname (std::string validator_name)
 Specify the type string.
 
CLI11_NODISCARD Validator name (std::string validator_name) const
 Specify the type string.
 
CLI11_NODISCARD 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.
 
CLI11_NODISCARD 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.
 
CLI11_NODISCARD Validator application_index (int app_index) const
 Specify the application index of a validator.
 
CLI11_NODISCARD int get_application_index () const
 Get the current value of the application index.
 
CLI11_NODISCARD bool get_active () const
 Get a boolean if the validator is active.
 
CLI11_NODISCARD 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.
 

Protected Member Functions

 Validator (std::string validator_desc, std::function< std::string(std::string &)> func)
 

Protected Attributes

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

Some validators that are provided.

These are simple std::string(const std::string&) validators that are useful. They return a string if the validation fails. A custom struct is provided, as well, with the same user semantics, but with the ability to provide a new type name.

Member Function Documentation

◆ operator&()

CLI11_INLINE Validator CLI::Validator::operator& ( const Validator other) const

Combining validators is a new validator. Type comes from left validator if function, otherwise only set if the same.

◆ operator()() [1/2]

std::string CLI::Validator::operator() ( const std::string &  str) const
inline

This is the required operator for a Validator - provided to help users (CLI11 uses the member func directly)

◆ operator()() [2/2]

CLI11_INLINE std::string CLI::Validator::operator() ( std::string &  str) const

This is the required operator for a Validator - provided to help users (CLI11 uses the member func directly)

◆ operator|()

CLI11_INLINE Validator CLI::Validator::operator| ( const Validator other) const

Combining validators is a new validator. Type comes from left validator if function, otherwise only set if the same.

Member Data Documentation

◆ func_

std::function<std::string(std::string &)> CLI::Validator::func_ {[](std::string &) { return std::string{}; }}
protected

This is the base function that is to be called. Returns a string error message if validation fails.


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