MPQC  3.0.0-alpha
sc::ParsedKeyVal Class Reference

#include <util/keyval/keyval.h>

Inheritance diagram for sc::ParsedKeyVal:
sc::StringKeyVal sc::KeyVal sc::RefCount

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 (const std::string &)
 Read input data from the given filename.
 
void read (std::istream &)
 Read input data from the given stream.
 
void parse_string (const std::string &)
 Read input data from the given string.
 
Overrides of parent members.

See parent class documentation.

std::string 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).
 
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.
 
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< KeyValValuevalue (const char *key=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.
 
long longvalue (const char *key=0, const KeyValValue &def=KeyValValuelong())
 Returns the long value of key.
 
size_t sizevalue (const char *key=0, const KeyValValue &def=KeyValValuesize())
 Returns the size_t value of key.
 
DEPRECATED char * pcharvalue (const char *key=0, const KeyValValue &def=KeyValValuestring())
 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.
 
Ref< DescribedClassdescribedclassvalue (const char *key=0, const KeyValValue &def=KeyValValueRefDescribedClass())
 Returns a reference to an object of type DescribedClass.
 
virtual Ref< DescribedClassdescribedclass (const char *classname)
 Returns a reference to an object of type DescribedClass using the top level keywords of this KeyVal. More...
 
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())
 
long longvalue (const char *key, int i, const KeyValValue &def=KeyValValuelong())
 
size_t sizevalue (const char *key, int i, const KeyValValue &def=KeyValValuesize())
 
DEPRECATED char * pcharvalue (const char *key, int i, const KeyValValue &def=KeyValValuestring())
 
std::string stringvalue (const char *key, int i, const KeyValValue &def=KeyValValuestring())
 
Ref< DescribedClassdescribedclassvalue (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())
 
long longvalue (int i, const KeyValValue &def=KeyValValuelong())
 
size_t sizevalue (int i, const KeyValValue &def=KeyValValuesize())
 
DEPRECATED char * pcharvalue (int i, const KeyValValue &def=KeyValValuestring())
 
std::string stringvalue (int i, const KeyValValue &def=KeyValValuestring())
 
Ref< DescribedClassdescribedclassvalue (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())
 
long longvalue (const char *key, int, int, const KeyValValue &def=KeyValValuelong())
 
size_t sizevalue (const char *key, int, int, const KeyValValue &def=KeyValValuesize())
 
DEPRECATED char * pcharvalue (const char *key, int, int, const KeyValValue &def=KeyValValuestring())
 
std::string stringvalue (const char *key, int, int, const KeyValValue &def=KeyValValuestring())
 
Ref< DescribedClassdescribedclassvalue (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())
 
long longvalue (int i, int j, const KeyValValue &def=KeyValValuelong())
 
size_t sizevalue (int i, int j, const KeyValValue &def=KeyValValuesize())
 
DEPRECATED char * pcharvalue (int i, int j, const KeyValValue &def=KeyValValuestring())
 
std::string stringvalue (int i, int j, const KeyValValue &def=KeyValValuestring())
 
Ref< DescribedClassdescribedclassvalue (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,...)
 
long Va_longvalue (const char *key, int nindex,...)
 
size_t Va_sizevalue (const char *key, int nindex,...)
 
DEPRECATED char * Va_pcharvalue (const char *key, int nindex,...)
 
std::string Va_stringvalue (const char *key, int nindex,...)
 
Ref< DescribedClassVa_describedclassvalue (const char *key, int nindex,...)
 
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.
 
- Public Member Functions inherited from sc::RefCount
size_t identifier () const
 Return the unique identifier for this object that can be compared for different objects of different types. More...
 
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...
 

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.
 

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< KeyValValuekey_value (const char *, const KeyValValue &def)
 Ultimately called by value.
 
- Protected Member Functions inherited from sc::KeyVal
void seterror (KeyValError err)
 Set the current error condition.
 
void seterror (KeyValValue::KeyValValueError err)
 Set the current error condition.
 
virtual int key_count (const char *=0)
 Ultimately called by count.
 
virtual int key_booleanvalue (const char *, const KeyValValue &def)
 Ultimately called by booleanvalue.
 
virtual double key_doublevalue (const char *key, const KeyValValue &def)
 Ultimately called by doublevalue.
 
virtual float key_floatvalue (const char *key, const KeyValValue &def)
 Ultimately called by floatvalue.
 
virtual char key_charvalue (const char *key, const KeyValValue &def)
 Ultimately called by charvalue.
 
virtual int key_intvalue (const char *key, const KeyValValue &def)
 Ultimately called by intvalue.
 
virtual long key_longvalue (const char *key, const KeyValValue &def)
 Ultimately called by longvalue.
 
virtual size_t key_sizevalue (const char *key, const KeyValValue &def)
 Ultimately called by sizevalue.
 
virtual DEPRECATED char * key_pcharvalue (const char *key, const KeyValValue &def)
 Ultimately called by pcharvalue.
 
virtual std::string key_stringvalue (const char *key, const KeyValValue &def)
 Ultimately called by stringvalue.
 
virtual Ref< DescribedClasskey_describedclassvalue (const char *key, const KeyValValue &def)
 Ultimately called by describedclassvalue.
 
- Protected Member Functions inherited from sc::RefCount
 RefCount (const RefCount &)
 
RefCountoperator= (const RefCount &)
 
- 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

◆ ParsedKeyVal() [1/2]

sc::ParsedKeyVal::ParsedKeyVal ( IPV2 )

Use the given IPV2* object.

The new ParsedKeyVal takes wnership of the passed IPV2 object.

◆ ParsedKeyVal() [2/2]

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

◆ classname()

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.


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

Generated at Sun Jan 26 2020 23:24:08 for MPQC 3.0.0-alpha using the documentation package Doxygen 1.8.16.