CmdLine::OptionsCHAR Class Reference

#include <CmdLineParser.h>

Inheritance diagram for CmdLine::OptionsCHAR:

Inheritance graph
Collaboration diagram for CmdLine::OptionsCHAR:

Collaboration graph

List of all members.

Public Member Functions

 OptionsCHAR (const Parser &parser)
Option< char > & Add (const std::string &, const std::string &="", char= '\0', const char *=0, bool=false)
bool Match (int &, char **, int)

Private Attributes

std::map< std::string,
std::pair< const char *, bool > > 

Detailed Description

Char options.

Constructor & Destructor Documentation

CmdLine::OptionsCHAR::OptionsCHAR ( const Parser parser  )  [inline]

Member Function Documentation

Option< char > & OptionsCHAR::Add ( const std::string &  name,
const std::string &  alias = "",
char  def = '\0',
const char *  range = 0,
bool  include_null_char = false 

This function allows a certain range of chars (null terminated string) to be specified. If the found value doesn't match one of these chars, then the default value is used.

[in] name The option's label
[in] alias The option's alias
[in] def The option's default value
[in] range An array of characters that defines the set of allowed chars
[in] include_null_char If the NULL char is one of the allowed values of the option, set this parameter to true
Example usage:

 Bool.Add("-c", "--char", 'a", "abc");

In this example the default char is 'a' and the allowed chars are 'a', 'b' and 'c'. If the user gives, for instance, '--char d', then Bool.Get("-c") will return 'a' rather than 'd'.

If you want to add the NULL char (\0) as a valid value, then calls Bool.Add as follows:

 Bool.Add("-c", "--char", 'a", "abc", true);

References CmdLine::Parser::m_flags, CmdLine::OptionsType< char >::m_parser, and m_ranges.

bool OptionsCHAR::Match ( int &  i,
char **  argv,
int  argc 

Try to identify a char option in command-line and then add it (together its char argument) into m_opts.

Some input combinations are interpreted as special characters:

    \0 = null byte
    \a = bell character
    \b = backspace
    \f = formfeed
    \n = newline
    \r = carriage return
    \t = horizontal tab
    \v = vertical tab
    \\ = backslash

References CmdLine::OptionsType< char >::CheckDuplicate(), CmdLine::OptionsType< char >::Find(), CmdLine::Option< T >::IsSet(), CmdLine::Option< T >::m_found, m_ranges, CmdLine::Option< T >::m_value, CmdLine::NO_VALUE, CmdLine::OUT_OF_RANGE, and CmdLine::SILENT.

Referenced by CmdLine::Parser::Process().

Member Data Documentation

std::map<std::string, std::pair<const char*, bool> > CmdLine::OptionsCHAR::m_ranges [private]

Referenced by Add(), and Match().

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