13 throw cms::Exception(
"LogicError",
"Mismatch in adding extension");
14 for (
unsigned int i = 0,
n =
other.nColumns();
i <
n; ++
i) {
15 switch (
other.columnType(
i)) {
16 case ColumnType::Int8:
17 addColumn<int8_t>(
other.columnName(
i),
other.columnData<int8_t>(
i),
other.columnDoc(
i));
19 case ColumnType::UInt8:
20 addColumn<uint8_t>(
other.columnName(
i),
other.columnData<uint8_t>(
i),
other.columnDoc(
i));
23 addColumn<int16_t>(
other.columnName(
i),
other.columnData<int16_t>(
i),
other.columnDoc(
i));
26 addColumn<uint16_t>(
other.columnName(
i),
other.columnData<uint16_t>(
i),
other.columnDoc(
i));
29 addColumn<int32_t>(
other.columnName(
i),
other.columnData<int32_t>(
i),
other.columnDoc(
i));
32 addColumn<uint32_t>(
other.columnName(
i),
other.columnData<uint32_t>(
i),
other.columnDoc(
i));
37 case ColumnType::Float:
40 case ColumnType::Double:
41 addColumn<double>(
other.columnName(
i),
other.columnData<
double>(
i),
other.columnDoc(
i));
50 if (column >= nColumns())
52 switch (columnType(column)) {
53 case ColumnType::Int8:
54 return *(beginData<int8_t>(column) + row);
55 case ColumnType::UInt8:
56 return *(beginData<uint8_t>(column) + row);
58 return *(beginData<int16_t>(column) + row);
60 return *(beginData<uint16_t>(column) + row);
62 return *(beginData<int32_t>(column) + row);
64 return *(beginData<uint32_t>(column) + row);
66 return *(beginData<bool>(column) + row);
67 case ColumnType::Float:
68 return *(beginData<float>(column) + row);
69 case ColumnType::Double:
70 return *(beginData<double>(column) + row);
void addExtension(const FlatTable &extension)
std::vector< Column > columns_
const std::string & name() const
int columnIndex(const std::string &name) const
double getAnyValue(unsigned int row, unsigned int column) const