ISTable.h
Go to the documentation of this file.
//$$FILE$$
//$$VERSION$$
//$$DATE$$
//$$LICENSE$$
#ifndef ISTABLE_H
#define ISTABLE_H
#include <float.h>
#include <string>
#include <vector>
#include <map>
#include <rcsb/mapped_vector.h>
#include <rcsb/mapped_vector.C>
#include <rcsb/GenString.h>
#include <rcsb/ITTable.h>
#include <rcsb/Serializer.h>
typedef std::multimap<std::string, unsigned int, StringLess> tIndex;
class ISTable
{
public:
typedef ITTable::eOrientation eOrientation;
static const eOrientation eCOLUMN_WISE = ITTable::eCOLUMN_WISE;
static const eOrientation eROW_WISE = ITTable::eROW_WISE;
enum eTableDiff
{
eNONE = 0,
eCASE_SENSE,
eMORE_COLS,
eLESS_COLS,
eCOL_NAMES,
eMORE_ROWS,
eLESS_ROWS,
eCELLS,
// Used only in block diff to indicate missing table in first block
eMISSING,
// Used only in block diff to indicate extra table in first block
eEXTRA
};
typedef ITTable::eSearchType eSearchType;
static const eSearchType eEQUAL = ITTable::eEQUAL;
static const eSearchType eLESS_THAN = ITTable::eLESS_THAN;
static const eSearchType eLESS_THAN_OR_EQUAL = ITTable::eLESS_THAN_OR_EQUAL;
static const eSearchType eGREATER_THAN = ITTable::eGREATER_THAN;
static const eSearchType eGREATER_THAN_OR_EQUAL =
ITTable::eGREATER_THAN_OR_EQUAL;
#ifdef VLAD_SECOND_ITTABLE
enum eSearchType
{
eEQUAL = 0,
eLESS_THAN,
eLESS_THAN_OR_EQUAL,
eGREATER_THAN,
eGREATER_THAN_OR_EQUAL
};
#endif
typedef ITTable::eSearchDir eSearchDir;
static const eSearchDir eFORWARD = ITTable::eFORWARD;
static const eSearchDir eBACKWARD = ITTable::eBACKWARD;
#ifdef VLAD_SECOND_ITTABLE
enum eSearchDir
{
eFORWARD = 0,
eBACKWARD
};
#endif
static const unsigned char DT_STRING_VAL = 1;
static const unsigned char DT_INTEGER_VAL = 2;
// static const unsigned char DT_DOUBLE_VAL = 3;
// Sets string comparison case sensitive
static const unsigned char CASE_SENSE = 0x00;
// Sets string comparison case insensitive
static const unsigned char CASE_INSENSE = 0x01;
// Sets string comparison to be sensitive to whitespace
static const unsigned char W_SPACE_SENSE = 0x00;
// Sets string comparison to ignore repeating whitspace.
// Also ignores leading and trailing whitespace
static const unsigned char W_SPACE_INSENSE = 0x02;
// string datatype
static const unsigned char DT_STRING = DT_STRING_VAL << 4;
// integer datatype
static const unsigned char DT_INTEGER = DT_INTEGER_VAL << 4;
// VLAD FEATURE NOT WORKING double is not working, maybe integer. check it // double datatype
// static const unsigned char DT_DOUBLE = DT_DOUBLE_VAL << 4;
ISTable(const Char::eCompareType colCaseSense = Char::eCASE_SENSITIVE);
ISTable(eOrientation orient, const Char::eCompareType
colCaseSense = Char::eCASE_SENSITIVE);
ISTable(const std::string& name,
const Char::eCompareType colCaseSense = Char::eCASE_SENSITIVE);
ISTable(const std::string& name, eOrientation orient,
const Char::eCompareType colCaseSense = Char::eCASE_SENSITIVE);
ISTable(const ISTable& inTable);
~ISTable();
ISTable& operator=(const ISTable& inTable);
eTableDiff operator==(ISTable& inTable);
inline const std::string& GetName() const;
void SetName(const std::string& name);
inline unsigned int GetNumColumns() const;
const std::vector<std::string>& GetColumnNames() const;
bool IsColumnPresent(const std::string& colName);
void AddColumn(const std::string& colName,
const std::vector<std::string>& col = std::vector<std::string>());
void InsertColumn(const std::string& colName,
const std::string& afColName, const std::vector<std::string>& col =
std::vector<std::string>());
void FillColumn(const std::string& colName,
const std::vector<std::string>& col);
void GetColumn(std::vector<std::string>& col, const std::string& colName);
void GetColumn(std::vector<std::string>& col, const std::string& colName,
const unsigned int fromRowIndex, unsigned int toRowIndex);
void GetColumn(std::vector<std::string>& col, const std::string& colName,
const std::vector<unsigned int>& rowIndex);
void RenameColumn(const std::string& oldColName,
const std::string& newColName);
void ClearColumn(const std::string& colName);
void DeleteColumn(const std::string& colName);
inline unsigned int GetNumRows() const;
unsigned int AddRow(const std::vector<std::string>& row =
std::vector<std::string>());
unsigned int InsertRow(const unsigned int atRowIndex,
const std::vector<std::string>& row = std::vector<std::string>());
void FillRow(const unsigned int rowIndex,
const std::vector<std::string>& row);
void GetRow(std::vector<std::string>& row, const unsigned int rowIndex,
const std::string& fromColName = std::string(),
const std::string& toColName = std::string());
const std::vector<std::string>& GetRow(const unsigned int rowIndex);
void ClearRow(const unsigned int rowIndex);
void DeleteRow(const unsigned int rowIndex);
void DeleteRows(const std::vector<unsigned int>& rows);
inline unsigned int GetLastRowIndex();
void UpdateCell(const unsigned int rowIndex, const std::string& colName,
const std::string& value);
const std::string& operator()(const unsigned int rowIndex,
const std::string& colName) const;
void SetFlags(const std::string& colName, const unsigned char flags);
unsigned char GetDataType(const std::string& colName);
unsigned int FindFirst(const std::vector<std::string>& targets,
const std::vector<std::string>& colNames,
const std::string& indexName = std::string());
void Search(std::vector<unsigned int>& res, const std::string& target,
const std::string& colName, const unsigned int fromRowIndex = 0,
const eSearchDir searchDir = eFORWARD,
const eSearchType searchType = eEQUAL);
void Search(std::vector<unsigned int>& res,
const std::vector<std::string>& targets,
const std::vector<std::string>& colNames,
const unsigned int fromRowIndex = 0,
const eSearchDir searchDir = eFORWARD,
const eSearchType searchType = eEQUAL,
const std::string& indexName = std::string());
void FindDuplicateRows(std::vector<std::pair<unsigned int,
unsigned int> >& duplRows, const std::vector<std::string>& colNames,
const bool keepDuplRows, const eSearchDir searchDir = eFORWARD);
inline Char::eCompareType GetColCaseSense() const;
inline void SetModified(const bool modified);
inline bool GetModified();
void SetSerializer(Serializer* ser);
int WriteObject(Serializer* ser, int& size);
int GetObject(UInt32 index, Serializer* ser);
void Read(unsigned int indexInFile);
int Write();
// typeOfMerge is 0 for overwrite, 1 for overlap
static ISTable* Merge(ISTable& firstTable, ISTable& secondTable,
unsigned int typeOfMerge = 0);
bool PrintDiff(ISTable& inTable);
inline bool IndexExists(const std::string& indexName);
void CreateIndex(const std::string& indexName,
const std::vector<std::string>& colNames,
const unsigned int unique = 0);
void UpdateIndex(const std::string& indexName, const unsigned int rowIndex);
void RebuildIndex(const std::string& indexName);
void RebuildIndices();
void DeleteIndex(const std::string& indexName);
inline unsigned int GetNumIndices();
void CreateKey(const std::vector<std::string>& colNames);
void DeleteKey();
static void SetUnion(const std::vector<unsigned int>& a,
const std::vector<unsigned int>& b, std::vector<unsigned int>& ret);
static void SetIntersect(const std::vector<unsigned int>& a,
const std::vector<unsigned int>& b, std::vector<unsigned int>& ret);
void GetColumnsIndices(std::vector<unsigned int>& colIndices,
const std::vector<std::string>& colNames);
void GetColumn(std::vector<std::string>& col, const std::string& colName,
const std::string& indexName);
private:
static const unsigned int MAX_NUM_ITTABLE_ROWS = 1000;
// number of digit DBL_MIN_10_EXP, letter e is not included in size
static const unsigned int EXPONENT = 4;
static const unsigned int MAX_PRECISION = DBL_DIG;
//???DBL_MANT_DIG;
static const unsigned int MANTISSA = MAX_PRECISION + 2;
static const unsigned int INT_LIMIT = 11;
// datatype mask
static const unsigned char DT_MASK = 15 << 4;
// string comparison sensitivity mask
static const unsigned char SC_MASK = 0x01;
// white space sensitivity mask
static const unsigned char WS_MASK = 0x02;
static const unsigned char LAST_DT_VALUE = 3;
static const unsigned int DEFAULT_PRECISION = MAX_PRECISION;
static const unsigned char DEFAULT_OPTIONS;
static const std::string _version;
std::string _name;
std::vector<ITTable> _ittables;
ITTable::eOrientation _orient;
Char::eCompareType _colCaseSense;
mapped_vector<std::string, StringLess> _colNames;
std::vector<unsigned int> _precision;
std::vector<unsigned char> _compare_opts;
std::vector<std::string> _indexNames;
std::vector<std::vector<unsigned int> > _listsOfColumns;
std::vector<unsigned int> _unique;
Serializer* _ser;
bool _modified; // Indicates whether table has been modified
unsigned int _numRows;
mutable unsigned int _rowIndexCache;
mutable std::pair<unsigned int, unsigned int> _rowLocCache;
void InsertColumn(const std::string& colName, const unsigned int atColIndex,
const std::vector<std::string>& col = std::vector<std::string>());
void CreateColumn(const std::string& colName, const unsigned int atColIndex,
const std::vector<std::string>& col = std::vector<std::string>());
int UpdateCell(const std::string& cell, const unsigned int colIndex,
const unsigned int rowIndex);
const std::string& operator()(const unsigned int rowIndex,
const unsigned int colIndex) const;
int SetFlags(const unsigned char newOpts, const unsigned int colIndex);
void FindDuplicateRows(const std::vector<unsigned int>& colIndices,
std::vector<std::pair<unsigned int, unsigned int> >& duplRows,
const unsigned int keep, const eSearchDir searchDir = eFORWARD);
void VerifyColumnsIndices(const std::vector<unsigned int>& colIndices);
bool AreListsOfColumnsValid(const std::vector<unsigned int>& colIndices);
void CreateIndex(const std::string& indexName,
const std::vector<unsigned int>& colIndices,
const unsigned int unique = 0);
void CreateKey(const std::vector<unsigned int>& colIndices);
unsigned int FindFirst(const std::vector<std::string>& targets,
const std::vector<unsigned int>& colIndices,
const std::string& indexName = std::string());
void Search(std::vector<unsigned int>& res,
const std::vector<std::string>& targets,
const std::vector<unsigned int>& colIndices,
const unsigned int fromRowIndex = 0,
const eSearchDir searchDir = eFORWARD,
const eSearchType searchType = eEQUAL,
const std::string& indexName = std::string());
void Init();
void Clear();
Char::eCompareType
GetCompareType(const std::vector<unsigned int>& colIndices);
std::string CellValue(const unsigned int colIndex,
const unsigned int rowIndex);
std::string ConvertString(const std::string& value,
const unsigned int colIndex);
std::string MultiStringsValue(const std::vector<std::string>& values,
const std::vector<unsigned int>& colIndices);
std::string SubRowValue(const std::vector<unsigned int>& colIndices,
const unsigned int rowIndex);
std::string AggregateRow(const std::vector<unsigned int>& colIndices,
const unsigned int rowIndex);
inline void AppendToAndDelimit(std::string& to,
const std::string& appending);
void ValidateOptions(unsigned int colIndex);
std::string CreateInternalIndexName(const unsigned int indexIndex);
void UpdateIndex(const unsigned int indexIndex,
const unsigned int rowIndex);
void RebuildIndex(const unsigned int indexIndex);
void ClearIndex(const unsigned int indexIndex);
void DeleteIndex(const unsigned int indexIndex);
int FindIndex(const std::string& indexName);
int FindIndex(const std::vector<unsigned int>& colIndices);
void UpdateIndices(const unsigned int rowIndex);
void ClearIndices();
bool IsColumnInIndex(const unsigned int indexIndex,
const unsigned int colIndex);
int FindKeyIndex();
void UpdateColListOnColInsert(const unsigned int colIndex);
void UpdateColListOnColDelete(const unsigned int colIndex);
void UpdateColListOnCellUpdate(const unsigned int rowIndex,
const unsigned int colIndex);
unsigned int FindFirst(const std::vector<std::string>& targets,
const std::vector<unsigned int>& colIndices,
const unsigned int indexIndex);
int WriteObjectV9(Serializer*, int& size);
int GetObjectV9(UInt32 index, Serializer*);
int GetObjectV8(UInt32 index, Serializer*);
int GetObjectV7(UInt32 index, Serializer*);
int GetObjectV6(UInt32 index, Serializer*);
int GetObjectV3(UInt32 index, Serializer*);
int GetObjectV2(UInt32 index, Serializer*);
int GetObjectV1(UInt32 index, Serializer*);
int GetObjectV1_1(UInt32 index, Serializer*);
void ConvertToInt(const std::string& a, std::string& ret);
void ConvertDouble(const std::string& a, std::string& ret);
void ConvertToLowerNoWhiteSpace(const std::string& a, std::string& ret);
void GetRowLocation(std::pair<unsigned int, unsigned int>& rowLoc,
const unsigned int rowIndex) const;
void CacheRowLocation(const unsigned int rowIndex) const;
void CreateSubtables(const unsigned int numRows);
void CreateSubtableColumns(const unsigned int colIndex,
const std::vector<std::string>& col);
void CreateColumn(const unsigned int atColIndex,
const std::vector<std::string>& col);
void Print(const std::string& indexName);
unsigned int GetColumnIndex(const std::string& colName) const;
};
std::ostream& operator<<(std::ostream& out, const ISTable& isTable);
inline unsigned int ISTable::GetLastRowIndex()
{
return(GetNumRows() - 1);
}
inline unsigned int ISTable::GetNumIndices()
{
return(_indexNames.size());
}
inline bool ISTable::IndexExists(const std::string& indexName)
{
int ret = FindIndex(indexName);
if (ret == -1)
{
return(false);
}
else
{
return(true);
}
}
inline void ISTable::AppendToAndDelimit(std::string& to,
const std::string& appending)
{
to += appending;
// VLAD HARDCODED CONST
to += " ";
}
inline void ISTable::SetModified(const bool modified)
{
_modified = modified;
}
inline bool ISTable::GetModified()
{
return _modified;
}
inline const std::string& ISTable::GetName() const
{
return(_name);
}
inline unsigned int ISTable::GetNumRows() const
{
return(_numRows);
}
inline unsigned int ISTable::GetNumColumns() const
{
return(_colNames.size());
}
inline Char::eCompareType ISTable::GetColCaseSense() const
{
return(_colCaseSense);
}
#endif // ISTABLE_H
ITTable::eLESS_THAN_OR_EQUAL
Definition: ITTable.h:64
ISTable::SetModified
void SetModified(const bool modified)
Definition: ISTable.h:1441
ISTable::GetModified
bool GetModified()
Definition: ISTable.h:1447
ISTable::eROW_WISE
static const eOrientation eROW_WISE
Definition: ISTable.h:59
ISTable::eGREATER_THAN_OR_EQUAL
static const eSearchType eGREATER_THAN_OR_EQUAL
Definition: ISTable.h:83
ITTable::eSearchType
eSearchType
Definition: ITTable.h:60
ISTable::SetSerializer
void SetSerializer(Serializer *ser)
ISTable::SetIntersect
static void SetIntersect(const std::vector< unsigned int > &a, const std::vector< unsigned int > &b, std::vector< unsigned int > &ret)
ISTable::eOrientation
ITTable::eOrientation eOrientation
Definition: ISTable.h:56
ITTable.h
Header file for ITTable class.
ISTable::operator=
ISTable & operator=(const ISTable &inTable)
ISTable
Public class that respresents a two-dimensional table of strings.
Definition: ISTable.h:53
operator<<
std::ostream & operator<<(std::ostream &out, const ISTable &isTable)
ISTable::IsColumnPresent
bool IsColumnPresent(const std::string &colName)
ISTable::eEQUAL
static const eSearchType eEQUAL
Definition: ISTable.h:79
ITTable::eROW_WISE
Definition: ITTable.h:57
ISTable::eLESS_ROWS
Definition: ISTable.h:69
ISTable::Read
void Read(unsigned int indexInFile)
ISTable::FillRow
void FillRow(const unsigned int rowIndex, const std::vector< std::string > &row)
ISTable::RebuildIndices
void RebuildIndices()
Char::eCASE_SENSITIVE
Definition: GenString.h:28
ISTable::eCASE_SENSE
Definition: ISTable.h:64
ITTable::eCOLUMN_WISE
Definition: ITTable.h:56
ISTable::RebuildIndex
void RebuildIndex(const std::string &indexName)
ISTable::~ISTable
~ISTable()
ISTable::DT_STRING_VAL
static const unsigned char DT_STRING_VAL
Definition: ISTable.h:110
UInt32
unsigned int UInt32
Definition: rcsb_types.h:15
ISTable::DeleteRow
void DeleteRow(const unsigned int rowIndex)
ISTable::InsertColumn
void InsertColumn(const std::string &colName, const std::string &afColName, const std::vector< std::string > &col=std::vector< std::string >())
ISTable::GetRow
void GetRow(std::vector< std::string > &row, const unsigned int rowIndex, const std::string &fromColName=std::string(), const std::string &toColName=std::string())
mapped_vector.h
ISTable::GetColumn
void GetColumn(std::vector< std::string > &col, const std::string &colName)
ITTable::eSearchDir
eSearchDir
Definition: ITTable.h:69
ISTable::DT_INTEGER
static const unsigned char DT_INTEGER
Definition: ISTable.h:126
ISTable::eSearchDir
ITTable::eSearchDir eSearchDir
Definition: ISTable.h:97
ISTable::IndexExists
bool IndexExists(const std::string &indexName)
Definition: ISTable.h:1413
ISTable::DT_STRING
static const unsigned char DT_STRING
Definition: ISTable.h:124
ISTable::SetName
void SetName(const std::string &name)
ISTable::GetDataType
unsigned char GetDataType(const std::string &colName)
ISTable::eFORWARD
static const eSearchDir eFORWARD
Definition: ISTable.h:99
ITTable::eBACKWARD
Definition: ITTable.h:72
ISTable::W_SPACE_SENSE
static const unsigned char W_SPACE_SENSE
Definition: ISTable.h:119
ISTable::eCOLUMN_WISE
static const eOrientation eCOLUMN_WISE
Definition: ISTable.h:58
ISTable::eGREATER_THAN
static const eSearchType eGREATER_THAN
Definition: ISTable.h:82
ITTable::eGREATER_THAN
Definition: ITTable.h:65
ISTable::eTableDiff
eTableDiff
Definition: ISTable.h:61
ISTable::FillColumn
void FillColumn(const std::string &colName, const std::vector< std::string > &col)
ISTable::GetObject
int GetObject(UInt32 index, Serializer *ser)
ISTable::eBACKWARD
static const eSearchDir eBACKWARD
Definition: ISTable.h:100
Serializer
Definition: Serializer.h:43
ITTable::eEQUAL
Definition: ITTable.h:62
ISTable::DeleteColumn
void DeleteColumn(const std::string &colName)
ITTable::eLESS_THAN
Definition: ITTable.h:63
ISTable::GetNumColumns
unsigned int GetNumColumns() const
Definition: ISTable.h:1465
ISTable::eCELLS
Definition: ISTable.h:70
ISTable::GetNumIndices
unsigned int GetNumIndices()
Definition: ISTable.h:1405
ISTable::AddColumn
void AddColumn(const std::string &colName, const std::vector< std::string > &col=std::vector< std::string >())
ISTable::AddRow
unsigned int AddRow(const std::vector< std::string > &row=std::vector< std::string >())
ISTable::eMISSING
Definition: ISTable.h:72
ISTable::SetFlags
void SetFlags(const std::string &colName, const unsigned char flags)
ISTable::Write
int Write()
ITTable::eOrientation
eOrientation
Definition: ITTable.h:54
ISTable::DeleteRows
void DeleteRows(const std::vector< unsigned int > &rows)
ISTable::DeleteIndex
void DeleteIndex(const std::string &indexName)
ISTable::Merge
static ISTable * Merge(ISTable &firstTable, ISTable &secondTable, unsigned int typeOfMerge=0)
mapped_vector::size
unsigned int size() const
Definition: mapped_vector.C:79
ISTable::eCOL_NAMES
Definition: ISTable.h:67
ISTable::UpdateIndex
void UpdateIndex(const std::string &indexName, const unsigned int rowIndex)
ITTable::eGREATER_THAN_OR_EQUAL
Definition: ITTable.h:66
ISTable::eEXTRA
Definition: ISTable.h:74
ISTable::CASE_SENSE
static const unsigned char CASE_SENSE
Definition: ISTable.h:115
ISTable::RenameColumn
void RenameColumn(const std::string &oldColName, const std::string &newColName)
ISTable::ISTable
ISTable(const Char::eCompareType colCaseSense=Char::eCASE_SENSITIVE)
tIndex
std::multimap< std::string, unsigned int, StringLess > tIndex
Definition: ISTable.h:31
ISTable::eLESS_THAN
static const eSearchType eLESS_THAN
Definition: ISTable.h:80
ISTable::GetLastRowIndex
unsigned int GetLastRowIndex()
Definition: ISTable.h:1397
ISTable::PrintDiff
bool PrintDiff(ISTable &inTable)
mapped_vector< std::string, StringLess >
ISTable::CASE_INSENSE
static const unsigned char CASE_INSENSE
Definition: ISTable.h:117
ISTable::eMORE_COLS
Definition: ISTable.h:65
ISTable::eLESS_COLS
Definition: ISTable.h:66
ISTable::GetColumnNames
const std::vector< std::string > & GetColumnNames() const
ISTable::GetColumnsIndices
void GetColumnsIndices(std::vector< unsigned int > &colIndices, const std::vector< std::string > &colNames)
ISTable::eSearchType
ITTable::eSearchType eSearchType
Definition: ISTable.h:77
ISTable::eMORE_ROWS
Definition: ISTable.h:68
ISTable::eNONE
Definition: ISTable.h:63
ISTable::UpdateCell
void UpdateCell(const unsigned int rowIndex, const std::string &colName, const std::string &value)
ISTable::Search
void Search(std::vector< unsigned int > &res, const std::string &target, const std::string &colName, const unsigned int fromRowIndex=0, const eSearchDir searchDir=eFORWARD, const eSearchType searchType=eEQUAL)
ISTable::FindDuplicateRows
void FindDuplicateRows(std::vector< std::pair< unsigned int, unsigned int > > &duplRows, const std::vector< std::string > &colNames, const bool keepDuplRows, const eSearchDir searchDir=eFORWARD)
ISTable::CreateIndex
void CreateIndex(const std::string &indexName, const std::vector< std::string > &colNames, const unsigned int unique=0)
ISTable::SetUnion
static void SetUnion(const std::vector< unsigned int > &a, const std::vector< unsigned int > &b, std::vector< unsigned int > &ret)
ISTable::DT_INTEGER_VAL
static const unsigned char DT_INTEGER_VAL
Definition: ISTable.h:111
ISTable::GetColCaseSense
Char::eCompareType GetColCaseSense() const
Definition: ISTable.h:1471
ISTable::W_SPACE_INSENSE
static const unsigned char W_SPACE_INSENSE
Definition: ISTable.h:122
mapped_vector.C
ISTable::operator()
const std::string & operator()(const unsigned int rowIndex, const std::string &colName) const
ISTable::ClearColumn
void ClearColumn(const std::string &colName)
ISTable::CreateKey
void CreateKey(const std::vector< std::string > &colNames)
ISTable::WriteObject
int WriteObject(Serializer *ser, int &size)
ISTable::eLESS_THAN_OR_EQUAL
static const eSearchType eLESS_THAN_OR_EQUAL
Definition: ISTable.h:81
ISTable::FindFirst
unsigned int FindFirst(const std::vector< std::string > &targets, const std::vector< std::string > &colNames, const std::string &indexName=std::string())
Serializer.h
Char::eCompareType
eCompareType
Definition: GenString.h:26
ISTable::GetNumRows
unsigned int GetNumRows() const
Definition: ISTable.h:1459
ITTable::eFORWARD
Definition: ITTable.h:71
ISTable::DeleteKey
void DeleteKey()
ISTable::InsertRow
unsigned int InsertRow(const unsigned int atRowIndex, const std::vector< std::string > &row=std::vector< std::string >())
ISTable::ClearRow
void ClearRow(const unsigned int rowIndex)
ISTable::operator==
eTableDiff operator==(ISTable &inTable)
ISTable::GetName
const std::string & GetName() const
Definition: ISTable.h:1453
GenString.h