VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Attributes | Private Member Functions
makVrv::DtStringKeyConverter Class Reference

DtStringKeyConverter is used to convert string-based keys, used in files for things like model sets and observer settings. The string-based keys make it easier to ensure uniqueness when we may have random plugins creating new keys, but allows us to convert those keys to integers for runtime use. When we need to save, we can convert the integers back to the original string keys. The string key converter provides an integer key on the create key call. DtStringKeyConverters are typically owned and used by managers that read and write settings files.

Public Types

typedef std::map< std::string,
int
StringKeyToIntKeyMap
 
typedef std::map< int,
std::string > 
IntKeyToStringKeyMap
 

Public Member Functions

 DtStringKeyConverter ()
 
 ~DtStringKeyConverter ()
 
int registerStringKey (const std::string &stringKey)
 
void registerStringKey (const std::string &stringKey, int intKey)
 
int lookupIntKey (const std::string &stringKey) const
 
const std::string * findStringKey (int intKey) const
 
const StringKeyToIntKeyMapstringKeys () const
 
const IntKeyToStringKeyMapintKeys () const
 
void removeKey (int intKey)
 
void removeKey (const std::string &stringKey)
 

Protected Attributes

StringKeyToIntKeyMap myStringKeyToIntKeyMap
 
IntKeyToStringKeyMap myIntKeyToStringKeyMap
 
int myNextIntKey
 

Private Member Functions

 DtStringKeyConverter (const DtStringKeyConverter &)
 
DtStringKeyConverteroperator= (const DtStringKeyConverter &)
 

Member Typedef Documentation

typedef std::map< std::string, int > makVrv::DtStringKeyConverter::StringKeyToIntKeyMap

Type of map of string keys to integer keys.

typedef std::map< int, std::string > makVrv::DtStringKeyConverter::IntKeyToStringKeyMap

Type of map of integer keys to sting keys.

Constructor & Destructor Documentation

makVrv::DtStringKeyConverter::DtStringKeyConverter ( )

CTOR.

makVrv::DtStringKeyConverter::~DtStringKeyConverter ( )

DTOR.

makVrv::DtStringKeyConverter::DtStringKeyConverter ( const DtStringKeyConverter )
private

Copy Constructor (unimplemented)

Member Function Documentation

DtStringKeyConverter& makVrv::DtStringKeyConverter::operator= ( const DtStringKeyConverter )
private

Assignment Operator (unimplemented)

int makVrv::DtStringKeyConverter::registerStringKey ( const std::string &  stringKey)

Register a new string key. The created integer is returned. Returns -1 if the key already exists.

void makVrv::DtStringKeyConverter::registerStringKey ( const std::string &  stringKey,
int  intKey 
)

Register a new string key, specifying the integer key to use. Only use this if you know your keyspace!

int makVrv::DtStringKeyConverter::lookupIntKey ( const std::string &  stringKey) const

Look up the integer key for this string key. Returns -1 if the string key doesn't exist.

const std::string* makVrv::DtStringKeyConverter::findStringKey ( int  intKey) const

Look up the string key for this integr key. Returns "" if the integer key doesn't exist.

const StringKeyToIntKeyMap& makVrv::DtStringKeyConverter::stringKeys ( ) const

Get the map of string keys to integer keys. Useful for iterating over.

const IntKeyToStringKeyMap& makVrv::DtStringKeyConverter::intKeys ( ) const

Get the map of integer keys to string keys. Useful for iterating over.

void makVrv::DtStringKeyConverter::removeKey ( int  intKey)

Remove a key from the system, based on it's int value.

void makVrv::DtStringKeyConverter::removeKey ( const std::string &  stringKey)

Remove a key from the system, based on it's string value.

Member Data Documentation

StringKeyToIntKeyMap makVrv::DtStringKeyConverter::myStringKeyToIntKeyMap
protected
IntKeyToStringKeyMap makVrv::DtStringKeyConverter::myIntKeyToStringKeyMap
protected
int makVrv::DtStringKeyConverter::myNextIntKey
protected

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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)