Aria: ArConfigArg Class Reference

- Main Page
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# ArConfigArg Class Reference

`#include <ArConfigArg.h>`

List of all members.

## Detailed Description

Argument class for ArConfig.

Java and Python Wrappers: Swig cannot determine the correct constructor to use based on most target langugages types, so you must use subclasses defined for various types. Or, use the constructor that accepts functors for dealing with arguments. Also, Swig cannot use pointers to change variables, so you must create ArConfigArg objects, passing in default values, and retain references to those objects, in addition to passing them to ArConfig, and read new values from those objects if ArConfig changes; or pass functors to ArConfigArg instead of the initial value.

## Public Types
enum | { TYPE_COUNT = LAST_TYPE + 1 }
enum | Type { INVALID, INT, DOUBLE, STRING, BOOL, FUNCTOR, DESCRIPTION_HOLDER, STRING_HOLDER, SEPARATOR, LAST_TYPE = SEPARATOR }
## Public Member Functions
| ArConfigArg (const ArConfigArg &arg)
| Copy constructor.
| ArConfigArg (Type type)
| Constructs a new argument of the specified type.
| ArConfigArg (const char *name, const char *str)
| Constructor for holding an unknown argument (STRING_HOLDER).
| ArConfigArg (const char *str, Type type=DESCRIPTION_HOLDER)
| Constructor for just holding a description (for ArConfig).
| ArConfigArg (const char *name, ArRetFunctor1< bool, ArArgumentBuilder * > *setFunctor, ArRetFunctor< const std::list< ArArgumentBuilder * > * > *getFunctor, const char *description)
| Constructor for making an argument that has functors to handle things.
| ArConfigArg (const char *name, bool val, const char *description="")
| Constructor for making a boolean argument.
| ArConfigArg (const char *name, double val, const char *description="", double minDouble=-HUGE_VAL, double maxDouble=HUGE_VAL)
| Constructor for making a double argument.
| ArConfigArg (const char *name, int val, const char *description="", int minInt=INT_MIN, int maxInt=INT_MAX)
| Constructor for making an integer argument.
| ArConfigArg (const char *name, char *str, const char *description, size_t maxStrLen)
| Constructor for making an argument of a string by pointer (see details).
| ArConfigArg (const char *name, bool *pointer, const char *description="")
| Constructor for making a boolean argument by pointer.
| ArConfigArg (const char *name, double *pointer, const char *description="", double minDouble=-HUGE_VAL, double maxDouble=HUGE_VAL)
| Constructor for making a double argument by pointer.
| ArConfigArg (const char *name, unsigned char *pointer, const char *description="", int minInt=0, int maxInt=255)
| Constructor for making an char (1 byte) argument by pointer (treated as int).
| ArConfigArg (const char *name, unsigned short *pointer, const char *description="", int minInt=0, int maxInt=USHRT_MAX)
| Constructor for making an int argument thats a ushort (2 bytes).
| ArConfigArg (const char *name, short *pointer, const char *description="", int minInt=SHRT_MIN, int maxInt=SHRT_MAX)
| Constructor for making an int argument thats a short (2 bytes).
| ArConfigArg (const char *name, int *pointer, const char *description="", int minInt=INT_MIN, int maxInt=INT_MAX)
| Constructor for making an integer argument by pointer (4 bytes).
| ArConfigArg ()
| Default empty contructor.
void | clearValueSet (void)
| Tells the configArg that the value hasn't been set.
const std::list< ArArgumentBuilder * > * | getArgsWithFunctor (void) const
| Gets the argument value, which is a list of argumentbuilders here.
bool | getBool (void) const
| Gets the argument value, for bool arguments.
ArPriority::Priority | getConfigPriority (void) const
| Gets the priority (only used by ArConfig).
const char * | getDescription (void) const
| Gets the long description of the argument.
const char * | getDisplayHint () const
| Returns the display hint for this arg, or NULL if none is defined.
double | getDouble (void) const
| Gets the argument value, for double arguments.
int | getInt (void) const
| Gets the argument value, for int arguments.
double | getMaxDouble (void) const
| Gets the maximum double value.
int | getMaxInt (void) const
| Gets the maximum int value.
double | getMinDouble (void) const
| Gets the minimum double value.
int | getMinInt (void) const
| Gets the minimum int value.
const char * | getName (void) const
| Gets the name of the argument.
const char * | getString (void) const
| Gets the argument value, for string arguments.
ArConfigArg::Type | getType (void) const
| Gets the type of the argument.
bool | isValueEqual (const ArConfigArg &other) const
| Checks only the name, type, and value attributes and returns whether they are equal.
bool | isValueSet (void)
| Gets whether this value has been set since it was last cleared or not.
void | log (bool verbose=false) const
| Logs the type, name, and value of this argument.
ArConfigArg & | operator= (const ArConfigArg &arg)
| Assignment operator.
bool | setArgWithFunctor (ArArgumentBuilder *argument, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
| Sets the argument by calling the setFunctor callback.
bool | setBool (bool val, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
| Sets the argument value, for bool arguments.
void | setConfigPriority (ArPriority::Priority priority)
| Sets the priority (only used by ArConfig).
void | setDisplayHint (const char *hintText)
| Sets the display hint for this arg.
bool | setDouble (double val, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
| Sets the argument value, for double arguments.
void | setIgnoreBounds (bool ignoreBounds=false)
| Sets whether to ignore bounds or not (default is to not to.
bool | setInt (int val, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
| Sets the argument value, for int arguments.
bool | setString (const char *str, char *errorBuffer=NULL, size_t errorBufferLen=0, bool doNotSet=false)
| Sets the argument value for ArArgumentBuilder arguments.
bool | setValue (const ArConfigArg &source)
| If the given source is of the same type, copies its value to this arg.
virtual | ~ArConfigArg ()
| Destructor.
## Protected Types
enum | IntType { INT_NOT, INT_INT, INT_SHORT, INT_UNSIGNED_SHORT, INT_UNSIGNED_CHAR }
## Protected Attributes
bool * | myBoolPointer
ArPriority::Priority | myConfigPriority
std::string | myDescription
std::string | myDisplayHint
double * | myDoublePointer
ArRetFunctor< const std::list< ArArgumentBuilder * > * > * | myGetFunctor
bool | myIgnoreBounds
int * | myIntPointer
short * | myIntShortPointer
ArConfigArg::IntType | myIntType
unsigned char * | myIntUnsignedCharPointer
unsigned short * | myIntUnsignedShortPointer
double | myMaxDouble
int | myMaxInt
size_t | myMaxStrLen
double | myMinDouble
int | myMinInt
std::string | myName
bool | myOwnPointedTo
ArRetFunctor1< bool, ArArgumentBuilder * > * | mySetFunctor
std::string | myString
char * | myStringPointer
ArConfigArg::Type | myType
bool | myUsingOwnedString
bool | myValueSet

## Member Enumeration Documentation

anonymous enum

Enumerator:

  TYPE_COUNT | Number of argument types.

enum ArConfigArg::IntType`[protected]`

Enumerator:

  INT_NOT | Not an int.
  INT_INT | An int (4 bytes).
  INT_SHORT | A short (2 bytes).
  INT_UNSIGNED_SHORT | An unsigned short (2 bytes).
  INT_UNSIGNED_CHAR | An unsigned char (1 byte).

enum ArConfigArg::Type

Enumerator:

  INVALID | An invalid argument, the argument wasn't created correctly.
  INT | Integer argument.
  DOUBLE | Double argument.
  STRING | String argument.
  BOOL | Boolean argument.
  FUNCTOR | Argument that handles things with functors.
  DESCRIPTION_HOLDER | Argument that just holds a description.
  STRING_HOLDER | this one is for holding strings and reading them in and writing them out but not really letting them get sent anywhere (its for unknown config parameters (so they don't get lost if a feature is turned off)
  SEPARATOR | Empty argument that merely acts as a separator within a (large) section.
  LAST_TYPE | Last value in the enumeration.

## Member Function Documentation

bool ArConfigArg::setValue | ( | const ArConfigArg & | source | ) |

If the given source is of the same type, copies its value to this arg.

Note that this method currently only works for the primitive arg types (i.e. int, bool, etc.). It doesn't copy functors or description holders.

Parameters:

  | source | the ArConfigArg whose value is to be copied to this arg

Returns:
  bool true if the value was copied; false if the source was of a different (or non-copyable) type

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

- ArConfigArg.h