29 typedef std::multimap<std::string, unsigned int, StringLess>
tIndex;
220 void AddColumn(
const std::string& colName,
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);
325 void AppendToColumn(
const std::string& colName,
const std::string& cell);
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>());
571 unsigned int InsertRow(
const unsigned int atRowIndex,
572 const std::vector<std::string>& row = std::vector<std::string>());
598 void FillRow(
const unsigned int rowIndex,
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());
659 void ClearRow(
const unsigned int rowIndex);
679 void DeleteRow(
const unsigned int rowIndex);
698 void DeleteRows(
const std::vector<unsigned int>& rows);
738 void UpdateCell(
const unsigned int rowIndex,
const std::string& colName,
739 const std::string& value);
762 const std::string&
operator()(
const unsigned int rowIndex,
763 const std::string& colName)
const;
789 void SetFlags(
const std::string& colName,
const unsigned char flags);
808 unsigned char GetDataType(
const std::string& colName);
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);
976 const std::string&
operator()(
const unsigned int rowIndex,
977 const unsigned int colIndex)
const;
978 int UpdateCell(
const std::string& cell,
const unsigned int colIndex,
979 const unsigned int rowIndex);
980 void FillColumn(
const std::vector<std::string>& col,
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);
987 void AppendToColumn(
const unsigned int colIndex,
const std::string& cell);
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);
1004 void CreateIndex(
const std::vector<unsigned int>& colIndices,
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());
1148 inline void ITTable::AppendToAndDelimit(std::string& to,
1149 const std::string& appending)
void FillColumn(const std::string &colName, const std::vector< std::string > &col)
void CreateColumn(const unsigned int atColIndex, const std::vector< std::string > &col=std::vector< std::string >())
void ValidateOptions(unsigned int colIndex)
void AppendToColumn(const std::string &colName, const std::string &cell)
unsigned int UInt32
Definition: rcsb_types.h:15
void UpdateIndex(const unsigned int indexIndex, const unsigned int rowIndex)
void DeleteRows(const std::vector< unsigned int > &rows)
void GetRow(std::vector< std::string > &row, const unsigned int rowIndex, const std::string &fromColName=std::string(), const std::string &toColName=std::string())
Header file for TTable class.
void DeleteEntry(const unsigned int rowIndex)
int GetObject(UInt32 index, Serializer *ser)
static const unsigned char DT_INTEGER_VAL
Definition: ITTable.h:76
void ClearColumn(const std::string &colName)
unsigned int GetNumTuples() const
Definition: TTable.h:544
unsigned int AddRow(const std::vector< std::string > &row=std::vector< std::string >())
unsigned int GetNumIndices()
Definition: ITTable.h:1140
void GetColumn(std::vector< std::string > &col, const std::string &colName)
static const unsigned char CASE_INSENSE
Definition: ITTable.h:82
unsigned int FindFirst(const std::vector< std::string > &targets, const std::vector< unsigned int > &colIndices, const unsigned int indexIndex)
eOrientation
Definition: ITTable.h:54
static const unsigned char DT_INTEGER
Definition: ITTable.h:91
void DeleteIndexEntry(const unsigned int indexIndex, const unsigned int rowIndex)
unsigned int GetNumRows() const
Definition: ITTable.h:1167
int WriteObject(Serializer *ser, int &size)
int FindIndex(const std::vector< unsigned int > &colIndices)
void CreateIndex(const std::vector< unsigned int > &colIndices, const unsigned int unique=0)
eSearchDir
Definition: ITTable.h:69
eSearchType
Definition: ITTable.h:60
std::ostream & operator<<(std::ostream &out, const ITTable &isTable)
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)
unsigned int GetLastRowIndex()
Definition: ITTable.h:1132
unsigned int InsertRow(const unsigned int atRowIndex, const std::vector< std::string > &row=std::vector< std::string >())
static const unsigned char CASE_SENSE
Definition: ITTable.h:80
unsigned int GetNumColumns() const
Definition: ITTable.h:1159
static const unsigned char W_SPACE_SENSE
Definition: ITTable.h:84
eOrientation GetOrientation()
void DeleteIndex(const unsigned int indexIndex)
unsigned int GetNumColumns() const
Definition: TTable.h:550
void SetSerializer(Serializer *ser)
void DeleteColumn(const std::string &colName)
Private class that respresents a two-dimensional table of strings.
Definition: ITTable.h:51
static const unsigned char DT_STRING_VAL
Definition: ITTable.h:75
void InsertIndexEntry(const unsigned int indexIndex, const unsigned int rowIndex)
void InsertColumn(const std::string &colName, const std::string &atColName, const std::vector< std::string > &col=std::vector< std::string >())
static const unsigned char DT_STRING
Definition: ITTable.h:89
ITTable & operator=(const ITTable &inTable)
std::multimap< std::string, unsigned int, StringLess > tIndex
Definition: ITTable.h:29
const std::string & operator()(const unsigned int rowIndex, const std::string &colName) const
void VerifyColumnsIndices(const std::vector< unsigned int > &colIndices)
Definition: Serializer.h:43
void SetFlags(const std::string &colName, const unsigned char flags)
void FillRow(const unsigned int rowIndex, const std::vector< std::string > &row)
void RebuildIndex(const unsigned int indexIndex)
void ClearRow(const unsigned int rowIndex)
static const unsigned char W_SPACE_INSENSE
Definition: ITTable.h:87
void UpdateCell(const unsigned int rowIndex, const std::string &colName, const std::string &value)
Private class that represents a table of tuples.
Definition: TTable.h:41
void AddColumn(const std::string &colName, const std::vector< std::string > &col=std::vector< 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)
int Write(Serializer *ser, int &size)
eCompareType
Definition: GenString.h:26
int Read(unsigned int indexInFile, Serializer *ser)
void DeleteRow(const unsigned int rowIndex)
void InsertEntry(const unsigned int rowIndex)
unsigned char GetDataType(const std::string &colName)