sc::ParsedKeyVal Class Reference

Converts textual information into keyword/value assocations. More...

`#include <keyval.h>`

Inheritance diagram for sc::ParsedKeyVal:
[legend]
Collaboration diagram for sc::ParsedKeyVal:
[legend]

## Public Member Functions

| ParsedKeyVal ()
| Create an empty ParsedKeyVal.
| ParsedKeyVal (const char *file)
| Parse the given input file.
| ParsedKeyVal (std::istream &s)
| Read input from s.
| ParsedKeyVal (IPV2 *)
| Use the given IPV2* object. More...
| ParsedKeyVal (const char *, const Ref< KeyVal > &)
| This ctor is given a string which is used to form keywords that are sought in the keyval argument. More...
| ~ParsedKeyVal ()
| Cleanup, deleting the IPV2 object.
void | read (const char *)
| Read input data from the given filename.
void | read (std::istream &)
| Read input data from the given stream.
void | parse_string (const char *)
| Read input data from the given string.
Overrides of parent members.
See parent class documentation.
const char * | stringrep (const char *)
| Returns the string representation of the value assigned to key.
const char * | classname (const char *)
| Returns the name of the exact class of the object at the keyword. More...
const char * | truekeyword (const char *)
| Returns a string which is the actual keyword if some sort of variable substitution takes place (needed to make multiple references to the same object work in input files). More...
void | errortrace (std::ostream &fp=ExEnv::err0())
| Write a message to fp describing the error.
void | dump (std::ostream &fp=ExEnv::err0())
| Write a message to fp describing the error.
void | print_unseen (std::ostream &fp=ExEnv::out0())
| Print keywords that were never looked at, if possible.
int | have_unseen ()
| Return 1 if there were unseen keywords, 0 if there are none, or -1 this keyval doesn't keep track of unseen keywords. More...
Debugging.
See the parent class documentation for descriptions of these functions.
Public Member Functions inherited from sc::KeyVal
int | exists (const char *)
| This takes as its only argument a keyword. More...
int | count (const char *=0)
| If the value of a keyword is an array, then return its length. More...
Ref< KeyValValue > | value (const char *=0, const KeyValValue &def=KeyValValue())
| Return the value associated with the keyword.
int | booleanvalue (const char *key=0, const KeyValValue &def=KeyValValueboolean())
| Returns the boolean value (0 = false, 1 = true) of key.
double | doublevalue (const char *key=0, const KeyValValue &def=KeyValValuedouble())
| Returns the double value of key.
float | floatvalue (const char *key=0, const KeyValValue &def=KeyValValuefloat())
| Returns the float value of key.
char | charvalue (const char *key=0, const KeyValValue &def=KeyValValuechar())
| Returns the char value of key.
int | intvalue (const char *key=0, const KeyValValue &def=KeyValValueint())
| Returns the int value of key.
size_t | sizevalue (const char *key=0, const KeyValValue &def=KeyValValuesize())
| Returns the size_t value of key.
char * | pcharvalue (const char *key=0, const KeyValValue &def=KeyValValuepchar())
| Returns a copy of the string representation of the key's value. More...
std::string | stringvalue (const char *key=0, const KeyValValue &def=KeyValValuestring())
| Returns a string representation of the key's value. More...
Ref< DescribedClass > | describedclassvalue (const char *key=0, const KeyValValue &def=KeyValValueRefDescribedClass())
| Returns a reference to an object of type DescribedClass.
KeyValError | error ()
| Return the current error condition.
const char * | errormsg (KeyValError err)
| Return a textual representation of err.
const char * | errormsg ()
| Return a textual representation of the current error.
void | verbose (int v)
| Control printing of assignments.
int | verbose () const
| Returns nonzero if assignments are printed.
int | exists (const char *key, int i)
int | count (const char *key, int i)
int | booleanvalue (const char *key, int i, const KeyValValue &def=KeyValValueboolean())
double | doublevalue (const char *key, int i, const KeyValValue &def=KeyValValuedouble())
float | floatvalue (const char *key, int i, const KeyValValue &def=KeyValValuefloat())
char | charvalue (const char *key, int i, const KeyValValue &def=KeyValValuechar())
int | intvalue (const char *key, int i, const KeyValValue &def=KeyValValueint())
size_t | sizevalue (const char *key, int i, const KeyValValue &def=KeyValValuesize())
char * | pcharvalue (const char *key, int i, const KeyValValue &def=KeyValValuepchar())
std::string | stringvalue (const char *key, int i, const KeyValValue &def=KeyValValuestring())
Ref< DescribedClass > | describedclassvalue (const char *key, int, const KeyValValue &def=KeyValValueRefDescribedClass())
int | exists (int i)
int | count (int i)
int | booleanvalue (int i, const KeyValValue &def=KeyValValueboolean())
double | doublevalue (int i, const KeyValValue &def=KeyValValuedouble())
float | floatvalue (int i, const KeyValValue &def=KeyValValuefloat())
char | charvalue (int i, const KeyValValue &def=KeyValValuechar())
int | intvalue (int i, const KeyValValue &def=KeyValValueint())
size_t | sizevalue (int i, const KeyValValue &def=KeyValValuesize())
char * | pcharvalue (int i, const KeyValValue &def=KeyValValuepchar())
std::string | stringvalue (int i, const KeyValValue &def=KeyValValuestring())
Ref< DescribedClass > | describedclassvalue (int i, const KeyValValue &def=KeyValValueRefDescribedClass())
int | exists (const char *, int, int)
int | count (const char *, int, int)
int | booleanvalue (const char *, int, int, const KeyValValue &def=KeyValValueboolean())
double | doublevalue (const char *key, int, int, const KeyValValue &def=KeyValValuedouble())
float | floatvalue (const char *key, int, int, const KeyValValue &def=KeyValValuefloat())
char | charvalue (const char *key, int, int, const KeyValValue &def=KeyValValuechar())
int | intvalue (const char *key, int, int, const KeyValValue &def=KeyValValueint())
size_t | sizevalue (const char *key, int, int, const KeyValValue &def=KeyValValuesize())
char * | pcharvalue (const char *key, int, int, const KeyValValue &def=KeyValValuepchar())
std::string | stringvalue (const char *key, int, int, const KeyValValue &def=KeyValValuestring())
Ref< DescribedClass > | describedclassvalue (const char *key, int, int, const KeyValValue &def=KeyValValueRefDescribedClass())
int | exists (int i, int j)
int | count (int i, int j)
int | booleanvalue (int i, int j, const KeyValValue &def=KeyValValueboolean())
double | doublevalue (int i, int j, const KeyValValue &def=KeyValValuedouble())
float | floatvalue (int i, int j, const KeyValValue &def=KeyValValuefloat())
char | charvalue (int i, int j, const KeyValValue &def=KeyValValuechar())
int | intvalue (int i, int j, const KeyValValue &def=KeyValValueint())
size_t | sizevalue (int i, int j, const KeyValValue &def=KeyValValuesize())
char * | pcharvalue (int i, int j, const KeyValValue &def=KeyValValuepchar())
std::string | stringvalue (int i, int j, const KeyValValue &def=KeyValValuestring())
Ref< DescribedClass > | describedclassvalue (int i, int j, const KeyValValue &def=KeyValValueRefDescribedClass())
int | Va_exists (const char *key, int nindex,...)
int | Va_count (const char *key, int nindex,...)
int | Va_booleanvalue (const char *key, int nindex,...)
double | Va_doublevalue (const char *key, int nindex,...)
float | Va_floatvalue (const char *key, int nindex,...)
char | Va_charvalue (const char *key, int nindex,...)
int | Va_intvalue (const char *key, int nindex,...)
size_t | Va_sizevalue (const char *key, int nindex,...)
char * | Va_pcharvalue (const char *key, int nindex,...)
std::string | Va_stringvalue (const char *key, int nindex,...)
Ref< DescribedClass > | Va_describedclassvalue (const char *key, int nindex,...)
Public Member Functions inherited from sc::RefCount
int | lock_ptr () const
| Lock this object.
int | unlock_ptr () const
| Unlock this object.
void | use_locks (bool inVal)
| start and stop using locks on this object
refcount_t | nreference () const
| Return the reference count.
refcount_t | reference ()
| Increment the reference count and return the new count.
refcount_t | dereference ()
| Decrement the reference count and return the new count.
int | managed () const
void | unmanage ()
| Turn off the reference counting mechanism for this object. More...
int | managed () const
| Return 1 if the object is managed. Otherwise return 0.
Public Member Functions inherited from sc::Identity
Identifier | identifier ()
| Return the Identifier for this argument. More...

## Static Public Member Functions

static void | cat_files (const char *, const Ref< KeyVal > &, std::ostream &o)
| This is like the ParsedKeyVal(const char*,const Ref<KeyVal>&) ctor, but writes the contents of the files to the given ostream. More...

## Additional Inherited Members

Public Types inherited from sc::KeyVal
enum | { MaxKeywordLength = 256 }
enum | KeyValError { OK, HasNoValue, WrongType, UnknownKeyword, OperationFailed }
Protected Member Functions inherited from sc::StringKeyVal
int | key_exists (const char *)
| Ultimately called by exists.
Ref< KeyValValue > | key_value (const char *, const KeyValValue &def)
| Ultimately called by value.
Protected Attributes inherited from sc::KeyVal
int | verbose_

## Detailed Description

Converts textual information into keyword/value assocations.

The parsing is done with an IPV2 object. The The KeyVal Library for more information on the input format.

## Constructor & Destructor Documentation

sc::ParsedKeyVal::ParsedKeyVal | ( | IPV2 * |  | ) |

Use the given IPV2* object.

The new ParsedKeyVal takes wnership of the passed IPV2 object.

sc::ParsedKeyVal::ParsedKeyVal | ( | const char * | ,
|  | const Ref< KeyVal > & |
| ) |  |

This ctor is given a string which is used to form keywords that are sought in the keyval argument.

The associated values are used to construct file names that are used to initialize the ParsedKeyVal. The keywords sought are string'dir' for the directory prefix and string'files' for an array of file names.

## Member Function Documentation

static void sc::ParsedKeyVal::cat_files | ( | const char * | ,
|  | const Ref< KeyVal > & | ,
|  | std::ostream & | o
| ) |  |

static

This is like the ParsedKeyVal(const char*,const Ref<KeyVal>&) ctor, but writes the contents of the files to the given ostream.

const char* sc::ParsedKeyVal::classname | ( | const char * |  | ) |

virtual

Returns the name of the exact class of the object at the keyword.

If no classname is assigned then 0 is returned.

Reimplemented from sc::StringKeyVal.

int sc::ParsedKeyVal::have_unseen | ( |  | ) |

virtual

Return 1 if there were unseen keywords, 0 if there are none, or -1 this keyval doesn't keep track of unseen keywords.

Reimplemented from sc::KeyVal.

const char* sc::ParsedKeyVal::truekeyword | ( | const char * |  | ) |

virtual

Returns a string which is the actual keyword if some sort of variable substitution takes place (needed to make multiple references to the same object work in input files).

Reimplemented from sc::StringKeyVal.

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

- keyval.h