advgetopt 2.0.49
Parse complex command line arguments and configuration files in C++.
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
advgetopt::validator_keywords Class Reference

#include <validator_keywords.h>

Inheritance diagram for advgetopt::validator_keywords:
Inheritance graph
[legend]
Collaboration diagram for advgetopt::validator_keywords:
Collaboration graph
[legend]

Public Types

typedef std::shared_ptr< validatorpointer_t
 
typedef std::vector< pointer_tvector_t
 

Public Member Functions

 validator_keywords (string_list_t const &data)
 
std::string constget_error () const
 
virtual std::string name () const override
 Return the name of this validator.
 
void set_error (std::string const &msg) const
 
virtual bool validate (std::string const &value) const override
 Check the value against a list of keywords.
 

Static Public Member Functions

static pointer_t create (std::string const &name, string_list_t const &data)
 
static pointer_t create (std::string const &name_and_params)
 Set the validator for this option.
 
static void register_validator (validator_factory const &factory)
 

Private Attributes

std::string f_error = std::string("<error undefined>")
 
string_set_t f_keywords = string_set_t()
 

Detailed Description

Definition at line 46 of file validator_keywords.h.

Member Typedef Documentation

◆ pointer_t

Definition at line 64 of file validator.h.

◆ vector_t

Definition at line 65 of file validator.h.

Constructor & Destructor Documentation

◆ validator_keywords()

advgetopt::validator_keywords::validator_keywords ( string_list_t const data)

Definition at line 85 of file validator_keywords.cpp.

References f_keywords, and advgetopt::option_flags_merge().

Member Function Documentation

◆ create() [1/2]

validator::pointer_t advgetopt::validator::create ( std::string const name,
string_list_t const data 
)
staticinherited

◆ create() [2/2]

validator::pointer_t advgetopt::validator::create ( std::string const name_and_params)
staticinherited

This function parses the specified name and optional parameters and create a corresponding validator for this option.

The name_and_params string can be defined as:

virtual std::string name() const override
Return the name of this validator.
constexpr flag_t option_flags_merge()
Definition flags.h:87

The list of parameters is optional. There may be an empty, just one, or any number of parameters. How the parameters are parsed is left to the validator to decide.

If the input string is empty, the current validator, if one is installed, gets removed.

The complete grammar of the name_and_params name and parameters can be written as a comma separated list of function calls, we have a special case for regex which do not require the function call. thing is pretty much anything other than the few special characters (comma, space, parenthesis, and quotes). To include a special character in thing either use a string or escape the character.

| '/' ... '/' // regex special case
name: [a-zA-Z_][a-zA-Z_0-9]*
params: (thing - [,()'" ])
| '\'' (thing - '\'') '\''
| '"' (thing - '"') '"'
thing: [^ -~]*
| '\\' [ -~]
Parameters
[in]name_and_paramsThe validator name and parameters.

Definition at line 666 of file validator.cpp.

References advgetopt::validator::create(), and advgetopt::option_flags_merge().

◆ get_error()

std::string const & advgetopt::validator::get_error ( ) const
inherited

Definition at line 581 of file validator.cpp.

References advgetopt::validator::f_error.

◆ name()

std::string advgetopt::validator_keywords::name ( ) const
overridevirtual

This function returns "keywords".

Returns
"keywords".

Implements advgetopt::validator.

Definition at line 108 of file validator_keywords.cpp.

◆ register_validator()

void advgetopt::validator::register_validator ( validator_factory const factory)
staticinherited

Definition at line 587 of file validator.cpp.

References advgetopt::option_flags_merge().

◆ set_error()

void advgetopt::validator::set_error ( std::string const msg) const
inherited

◆ validate()

bool advgetopt::validator_keywords::validate ( std::string const value) const
overridevirtual

This function is used to match the value of an argument against a list of keywords. It returns true when it does match.

Parameters
[in]valueThe value to be validated.
Returns
true on a match.

Implements advgetopt::validator.

Definition at line 123 of file validator_keywords.cpp.

References f_keywords, and advgetopt::validator::set_error().

Member Data Documentation

◆ f_error

std::string advgetopt::validator::f_error = std::string("<error undefined>")
mutableprivateinherited

Definition at line 82 of file validator.h.

Referenced by advgetopt::validator::get_error(), and advgetopt::validator::set_error().

◆ f_keywords

string_set_t advgetopt::validator_keywords::f_keywords = string_set_t()
private

Definition at line 58 of file validator_keywords.h.

Referenced by validator_keywords(), and validate().


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

This document is part of the Snap! Websites Project.

Copyright by Made to Order Software Corp.