29typedef std::multimap<std::string, unsigned int, StringLess>
tIndex;
221 const std::vector<std::string>& col = std::vector<std::string>());
266 const std::string& atColName,
const std::vector<std::string>& col =
267 std::vector<std::string>());
298 const std::vector<std::string>& col);
353 const std::vector<std::string>& col);
373 void GetColumn(std::vector<std::string>& col,
const std::string& colName);
406 void GetColumn(std::vector<std::string>& col,
const std::string& colName,
407 const unsigned int fromRowIndex,
unsigned int toRowIndex);
432 void GetColumn(std::vector<std::string>& col,
const std::string& colName,
433 const std::vector<unsigned int>& rowIndex);
522 unsigned int AddRow(
const std::vector<std::string>& row =
523 std::vector<std::string>());
572 const std::vector<std::string>& row = std::vector<std::string>());
599 const std::vector<std::string>& row);
640 void GetRow(std::vector<std::string>& row,
const unsigned int rowIndex,
641 const std::string& fromColName = std::string(),
642 const std::string& toColName = std::string());
738 void UpdateCell(
const unsigned int rowIndex,
const std::string& colName,
739 const std::string& value);
763 const std::string& colName)
const;
789 void SetFlags(
const std::string& colName,
const unsigned char flags);
838#ifdef VLAD_SECOND_ITTABLE
839 unsigned int FindFirst(
const std::vector<std::string>& targets,
840 const std::vector<std::string>& colNames,
841 const std::string& indexName = std::string());
867#ifdef VLAD_SECOND_ITTABLE
868 void Search(std::vector<unsigned int>& res,
const std::string& target,
901#ifdef VLAD_SECOND_ITTABLE
902 void Search(std::vector<unsigned int>& res,
903 const std::vector<std::string>& targets,
904 const std::vector<std::string>& colNames,
906 const std::string& indexName = std::string());
940 unsigned int> >& duplRows,
941 const std::vector<std::string>& colNames,
const bool keepDuplRows,
947 const unsigned int rowIndex);
949 const unsigned int rowIndex);
951 const unsigned int rowIndex);
953 int FindIndex(
const std::vector<unsigned int>& colIndices);
954 int SetFlags(
const unsigned char newOpts,
const unsigned int colIndex);
955 unsigned int FindFirst(
const std::vector<std::string>& targets,
956 const std::vector<unsigned int>& colIndices,
const unsigned int indexIndex);
958 void Search(std::vector<unsigned int>& res,
959 const std::vector<std::string>& targets,
960 const std::vector<unsigned int>& colIndices,
961 const unsigned int indexIndex,
964 void Search(std::vector<unsigned int>& res,
const std::string& target,
967 std::vector<std::pair<unsigned int, unsigned int> >& duplRows,
971 const std::vector<std::string>& col = std::vector<std::string>());
973 std::vector<std::string>::const_iterator colBeg,
974 std::vector<std::string>::const_iterator colEnd);
977 const unsigned int colIndex)
const;
978 int UpdateCell(
const std::string& cell,
const unsigned int colIndex,
979 const unsigned int rowIndex);
981 const unsigned int colIndex);
983 std::vector<std::string>::const_iterator colBeg,
984 std::vector<std::string>::const_iterator colEnd);
986 const std::vector<std::string>& col);
989 const std::vector<std::string>& col = std::vector<std::string>());
991 std::vector<std::string>::const_iterator colBeg,
992 std::vector<std::string>::const_iterator colEnd);
993 void GetColumn(std::vector<std::string>& col,
const unsigned int colIndex,
994 const unsigned int fromRowIndex,
unsigned int toRowIndex);
995 void GetColumn(std::vector<std::string>& col,
const unsigned int colIndex,
996 const std::vector<unsigned int>& rowIndex);
999 void GetColumn(std::vector<std::string>& col,
const unsigned int colIndex);
1000 void GetRow(std::vector<std::string>& row,
const unsigned int rowIndex,
1001 const unsigned int fromColIndex,
unsigned int toColIndex);
1002 const std::vector<std::string>&
GetRow(
const unsigned int rowIndex);
1005 const unsigned int unique = 0);
1048 void GetColumn(std::vector<std::string>& col,
const unsigned int colIndex,
1049 const unsigned int indexIndex);
1053 static const unsigned int EXPONENT = 4;
1054 static const unsigned int MAX_PRECISION = DBL_DIG;
1056 static const unsigned int MANTISSA = MAX_PRECISION + 2;
1057 static const unsigned int INT_LIMIT = 11;
1060 static const unsigned char DT_MASK = 15 << 4;
1062 static const unsigned char SC_MASK = 0x01;
1064 static const unsigned char WS_MASK = 0x02;
1065 static const unsigned char LAST_DT_VALUE = 3;
1066 static const unsigned int DEFAULT_PRECISION = MAX_PRECISION;
1067 static const unsigned char DEFAULT_OPTIONS;
1077 std::vector<unsigned char> _compare_opts;
1079 std::vector<std::vector<unsigned int> > _listsOfColumns;
1080 std::vector<unsigned int> _unique;
1081 std::vector<tIndex> _indices;
1083 bool AreListsOfColumnsValid(
const std::vector<unsigned int>& colIndices);
1084 void CreateKey(
const std::vector<unsigned int>& colIndices);
1089 GetCompareType(
const std::vector<unsigned int>& colIndices);
1091 std::string CellValue(
const unsigned int colIndex,
1092 const unsigned int rowIndex);
1093 std::string ConvertString(
const std::string& value,
1094 const unsigned int colIndex);
1095 std::string MultiStringsValue(
const std::vector<std::string>& values,
1096 const std::vector<unsigned int>& colIndices);
1097 std::string SubRowValue(
const std::vector<unsigned int>& colIndices,
1098 const unsigned int rowIndex);
1099 std::string AggregateRow(
const std::vector<unsigned int>& colIndices,
1100 const unsigned int rowIndex);
1102 inline void AppendToAndDelimit(std::string& to,
1103 const std::string& appending);
1105 std::string CreateInternalIndexName(
const unsigned int indexIndex);
1106 void ClearIndex(
const unsigned int indexIndex);
1108 void UpdateIndices(
const unsigned int rowIndex);
1109 void ClearIndices();
1111 bool IsColumnInIndex(
const unsigned int indexIndex,
1112 const unsigned int colIndex);
1116 void UpdateColListOnColInsert(
const unsigned int colIndex);
1117 void UpdateColListOnColDelete(
const unsigned int colIndex);
1118 void UpdateIndicesOnCellUpdate(
const unsigned int rowIndex,
1119 const unsigned int colIndex);
1121 void ConvertToInt(
const std::string& a, std::string& ret);
1122 void ConvertDouble(
const std::string& a, std::string& ret);
1123 void ConvertToLowerNoWhiteSpace(
const std::string& a, std::string& ret);
1125 void Print(
unsigned int indexIndex);
1143 return(_listsOfColumns.size());
1148inline void ITTable::AppendToAndDelimit(std::string& to,
1149 const std::string& appending)
std::multimap< std::string, unsigned int, StringLess > tIndex
Definition: ITTable.h:29
std::ostream & operator<<(std::ostream &out, const ITTable &isTable)
Header file for TTable class.
eCompareType
Definition: GenString.h:27
Private class that respresents a two-dimensional table of strings.
Definition: ITTable.h:52
void GetColumn(std::vector< std::string > &col, const std::string &colName)
ITTable(eOrientation orient)
static const unsigned char W_SPACE_SENSE
Definition: ITTable.h:84
unsigned int GetNumRows() const
Definition: ITTable.h:1167
void FillColumn(const unsigned int colIndex, std::vector< std::string >::const_iterator colBeg, std::vector< std::string >::const_iterator colEnd)
void GetColumn(std::vector< std::string > &col, const unsigned int colIndex, const std::vector< unsigned int > &rowIndex)
void AddColumn(const std::string &colName, const std::vector< std::string > &col=std::vector< std::string >())
static const unsigned char CASE_SENSE
Definition: ITTable.h:80
void InsertEntry(const unsigned int rowIndex)
void GetColumn(std::vector< std::string > &col, const std::string &colName, const unsigned int fromRowIndex, unsigned int toRowIndex)
void AppendToColumn(const std::string &colName, const std::string &cell)
void InsertColumn(const unsigned int colIndex, std::vector< std::string >::const_iterator colBeg, std::vector< std::string >::const_iterator colEnd)
int SetFlags(const unsigned char newOpts, const unsigned int colIndex)
void FillRow(const unsigned int rowIndex, const std::vector< std::string > &row)
eOrientation GetOrientation()
const std::string & operator()(const unsigned int rowIndex, const std::string &colName) const
void FindDuplicateRows(const std::vector< unsigned int > &colIndices, std::vector< std::pair< unsigned int, unsigned int > > &duplRows, const bool keep, const eSearchDir searchDir=eFORWARD)
void DeleteColumn(const std::string &colName)
unsigned char GetDataType(const std::string &colName)
int WriteObject(Serializer *ser, int &size)
int FindIndex(const std::vector< unsigned int > &colIndices)
void GetColumn(std::vector< std::string > &col, const unsigned int colIndex)
void FindDuplicateRows(std::vector< std::pair< unsigned int, unsigned int > > &duplRows, const std::vector< std::string > &colNames, const bool keepDuplRows, const eSearchDir searchDir=eFORWARD)
void ClearRow(const unsigned int rowIndex)
void DeleteIndex(const unsigned int indexIndex)
void DeleteEntry(const unsigned int rowIndex)
void GetColumn(std::vector< std::string > &col, const unsigned int colIndex, const unsigned int indexIndex)
unsigned int InsertRow(const unsigned int atRowIndex, const std::vector< std::string > &row=std::vector< std::string >())
static const unsigned char W_SPACE_INSENSE
Definition: ITTable.h:87
void ClearColumn(const std::string &colName)
eSearchType
Definition: ITTable.h:61
@ eLESS_THAN_OR_EQUAL
Definition: ITTable.h:64
@ eLESS_THAN
Definition: ITTable.h:63
@ eGREATER_THAN
Definition: ITTable.h:65
@ eEQUAL
Definition: ITTable.h:62
@ eGREATER_THAN_OR_EQUAL
Definition: ITTable.h:66
const std::vector< std::string > & GetRow(const unsigned int rowIndex)
void GetRow(std::vector< std::string > &row, const unsigned int rowIndex, const unsigned int fromColIndex, unsigned int toColIndex)
static const unsigned char DT_STRING_VAL
Definition: ITTable.h:75
static const unsigned char DT_INTEGER
Definition: ITTable.h:91
eSearchDir
Definition: ITTable.h:70
@ eFORWARD
Definition: ITTable.h:71
@ eBACKWARD
Definition: ITTable.h:72
void InsertColumn(const std::string &colName, const std::string &atColName, const std::vector< std::string > &col=std::vector< std::string >())
ITTable & operator=(const ITTable &inTable)
static const unsigned char DT_INTEGER_VAL
Definition: ITTable.h:76
void RebuildIndex(const unsigned int indexIndex)
void ValidateOptions(unsigned int colIndex)
void Search(std::vector< unsigned int > &res, const std::vector< std::string > &targets, const std::vector< unsigned int > &colIndices, const unsigned int indexIndex, const eSearchType searchType=eEQUAL)
void AppendToColumn(const unsigned int colIndex, const std::string &cell)
void DeleteColumn(const unsigned int colIndex)
void FillColumn(const std::string &colName, const std::vector< std::string > &col)
int Read(unsigned int indexInFile, Serializer *ser)
void CreateColumn(const unsigned int atColIndex, std::vector< std::string >::const_iterator colBeg, std::vector< std::string >::const_iterator colEnd)
void DeleteRows(const std::vector< unsigned int > &rows)
void CreateColumn(const unsigned int atColIndex, const std::vector< std::string > &col=std::vector< std::string >())
unsigned int AddRow(const std::vector< std::string > &row=std::vector< std::string >())
eOrientation
Definition: ITTable.h:55
@ eROW_WISE
Definition: ITTable.h:57
@ eCOLUMN_WISE
Definition: ITTable.h:56
ITTable(const ITTable &inTable)
void InsertIndexEntry(const unsigned int indexIndex, const unsigned int rowIndex)
void ClearColumn(const unsigned int colIndex)
void InsertColumn(const unsigned int colIndex, const std::vector< std::string > &col=std::vector< std::string >())
static const unsigned char DT_STRING
Definition: ITTable.h:89
void CreateIndex(const std::vector< unsigned int > &colIndices, const unsigned int unique=0)
void AppendToColumn(const std::string &colName, const std::vector< std::string > &col)
unsigned int GetNumIndices()
Definition: ITTable.h:1140
void UpdateIndex(const unsigned int indexIndex, const unsigned int rowIndex)
void SetFlags(const std::string &colName, const unsigned char flags)
void DeleteRow(const unsigned int rowIndex)
void GetColumn(std::vector< std::string > &col, const std::string &colName, const std::vector< unsigned int > &rowIndex)
void GetColumn(std::vector< std::string > &col, const unsigned int colIndex, const unsigned int fromRowIndex, unsigned int toRowIndex)
void FillColumn(const std::vector< std::string > &col, const unsigned int colIndex)
void Search(std::vector< unsigned int > &res, const std::string &target, const unsigned int colIndex, const eSearchType searchType=eEQUAL)
unsigned int GetLastRowIndex()
Definition: ITTable.h:1132
void AppendToColumn(const unsigned int colIndex, const std::vector< std::string > &col)
unsigned int GetNumColumns() const
Definition: ITTable.h:1159
void VerifyColumnsIndices(const std::vector< unsigned int > &colIndices)
int UpdateCell(const std::string &cell, const unsigned int colIndex, const unsigned int rowIndex)
void DeleteIndexEntry(const unsigned int indexIndex, const unsigned int rowIndex)
void GetRow(std::vector< std::string > &row, const unsigned int rowIndex, const std::string &fromColName=std::string(), const std::string &toColName=std::string())
static const unsigned char CASE_INSENSE
Definition: ITTable.h:82
void SetSerializer(Serializer *ser)
void UpdateCell(const unsigned int rowIndex, const std::string &colName, const std::string &value)
unsigned int FindFirst(const std::vector< std::string > &targets, const std::vector< unsigned int > &colIndices, const unsigned int indexIndex)
int Write(Serializer *ser, int &size)
int GetObject(UInt32 index, Serializer *ser)
const std::string & operator()(const unsigned int rowIndex, const unsigned int colIndex) const
Definition: Serializer.h:44
Private class that represents a table of tuples.
Definition: TTable.h:42
unsigned int GetNumColumns() const
Definition: TTable.h:550
unsigned int GetNumTuples() const
Definition: TTable.h:544
unsigned int UInt32
Definition: rcsb_types.h:15