Sirikata
Classes | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends
Sirikata::OptionSet Class Reference

This class holds a set of options that may appear on a command line or within an argument to a module Holds a static index to all OptionSets currently available in the program. More...

#include <Options.hpp>

Collaboration diagram for Sirikata::OptionSet:

List of all members.

Classes

class  OptionNameAndContext
class  StringVoid

Public Member Functions

 OptionSet ()
 ~OptionSet ()
void parse (const std::string &, bool use_defaults=true, bool missing_only=false, bool allow_unregistered=false)
void parse (int, const char *const *, bool use_defaults=true, bool missing_only=false, bool allow_unregistered=false)
void parseFile (const std::string &, bool required, bool use_defaults=true, bool missing_only=false, bool allow_unregistered=false)
void fillMissingDefaults ()
 Fills in defaults for any options that didn't already have values filled in.
void addOption (OptionValue *v)
OptionValuereferenceOption (const std::string &option, OptionValue **pointer=NULL)

Static Public Member Functions

static OptionValuereferenceOption (const std::string &module, const std::string &option, OptionValue **pointer=NULL)
static OptionValuereferenceOption (const std::string &module, const void *context_ptr, const std::string &option, OptionValue **pointer=NULL)
static std::map< StringVoid,
OptionSet * > * 
optionSets ()
static OptionSetgetOptions (const std::string &s, const void *context)
static OptionSetgetOptions (const std::string &s)
static OptionSetgetOptions ()

Private Types

enum  ParsingStage { PARSED_NO_OPTIONS, PARSED_BLANK_OPTIONS, PARSED_UNBLANK_OPTIONS, PARSED_PARTIAL_UNBLANK_OPTIONS }

Private Member Functions

void addOptionNoLock (OptionValue *)
OptionValuereferenceOptionNoLock (const std::string &option, OptionValue **pointer)
bool initializationSet (OptionValue *thus, const OptionValue &other)

Static Private Member Functions

static OptionSetgetOptionsNoLock (const std::string &s, const void *context)

Private Attributes

std::map< std::string,
OptionValue * > 
mNames
enum
Sirikata::OptionSet::ParsingStage 
mParsingStage

Friends

class InitializeGlobalOptions
class InitializeClassOptions

Detailed Description

This class holds a set of options that may appear on a command line or within an argument to a module Holds a static index to all OptionSets currently available in the program.


Member Enumeration Documentation

Enumerator:
PARSED_NO_OPTIONS 
PARSED_BLANK_OPTIONS 
PARSED_UNBLANK_OPTIONS 
PARSED_PARTIAL_UNBLANK_OPTIONS 

Constructor & Destructor Documentation

Sirikata::OptionSet::OptionSet ( )
Sirikata::OptionSet::~OptionSet ( )

Member Function Documentation

void Sirikata::OptionSet::addOption ( OptionValue v)
void Sirikata::OptionSet::addOptionNoLock ( OptionValue option) [private]
void Sirikata::OptionSet::fillMissingDefaults ( )

Fills in defaults for any options that didn't already have values filled in.

Useful if you add options and need to fill in defaults but can't parse with defaults since that would overwrite already-parsed options.

Referenced by Sirikata::FillMissingOptionDefaults().

OptionSet * Sirikata::OptionSet::getOptions ( ) [static]
OptionSet * Sirikata::OptionSet::getOptions ( const std::string &  s,
const void *  context 
) [static]
OptionSet * Sirikata::OptionSet::getOptions ( const std::string &  s) [static]
OptionSet * Sirikata::OptionSet::getOptionsNoLock ( const std::string &  s,
const void *  context 
) [static, private]
bool Sirikata::OptionSet::initializationSet ( OptionValue thus,
const OptionValue other 
) [private]
static std::map<StringVoid,OptionSet*>* Sirikata::OptionSet::optionSets ( ) [inline, static]
void Sirikata::OptionSet::parse ( const std::string &  args,
bool  use_defaults = true,
bool  missing_only = false,
bool  allow_unregistered = false 
)
void Sirikata::OptionSet::parse ( int  argc,
const char *const *  argv,
bool  use_defaults = true,
bool  missing_only = false,
bool  allow_unregistered = false 
)
void Sirikata::OptionSet::parseFile ( const std::string &  file,
bool  required,
bool  use_defaults = true,
bool  missing_only = false,
bool  allow_unregistered = false 
)
OptionValue * Sirikata::OptionSet::referenceOption ( const std::string &  module,
const std::string &  option,
OptionValue **  pointer = NULL 
) [static]
OptionValue * Sirikata::OptionSet::referenceOption ( const std::string &  option,
OptionValue **  pointer = NULL 
)
OptionValue * Sirikata::OptionSet::referenceOption ( const std::string &  module,
const void *  context_ptr,
const std::string &  option,
OptionValue **  pointer = NULL 
) [static]
OptionValue * Sirikata::OptionSet::referenceOptionNoLock ( const std::string &  option,
OptionValue **  pointer 
) [private]

Friends And Related Function Documentation

friend class InitializeClassOptions [friend]
friend class InitializeGlobalOptions [friend]

Member Data Documentation

std::map<std::string,OptionValue*> Sirikata::OptionSet::mNames [private]

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