Alexandria
2.27.0
SDC-CH common library for the Euclid project
Table
Table
ColumnInfo.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2021 Euclid Science Ground Segment
3
*
4
* This library is free software; you can redistribute it and/or modify it under
5
* the terms of the GNU Lesser General Public License as published by the Free
6
* Software Foundation; either version 3.0 of the License, or (at your option)
7
* any later version.
8
*
9
* This library is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
12
* details.
13
*
14
* You should have received a copy of the GNU Lesser General Public License
15
* along with this library; if not, write to the Free Software Foundation, Inc.,
16
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
25
#ifndef TABLE_COLUMNINFO_H
26
#define TABLE_COLUMNINFO_H
27
28
#include <memory>
29
#include <string>
30
#include <typeindex>
31
#include <utility>
32
#include <vector>
33
34
#include "
ElementsKernel/Export.h
"
35
36
#include "
Table/ColumnDescription.h
"
37
38
namespace
Euclid
{
39
namespace
Table {
40
52
class
ELEMENTS_API
ColumnInfo
{
53
54
public
:
55
using
info_type
=
ColumnDescription
;
56
75
explicit
ColumnInfo
(
std::vector<info_type>
info_list);
76
78
virtual
~ColumnInfo
() =
default
;
79
87
bool
operator==(
const
ColumnInfo
& other)
const
;
88
96
bool
operator!=
(
const
ColumnInfo
& other)
const
;
97
104
std::size_t
size()
const
;
105
116
const
ColumnDescription
& getDescription(
std::size_t
index)
const
;
117
128
const
ColumnDescription
& getDescription(
const
std::string
& name)
const
;
129
138
std::unique_ptr<std::size_t>
find(
const
std::string
& name)
const
;
139
140
private
:
141
std::vector<info_type>
m_info_list
;
142
};
143
144
}
// namespace Table
145
}
// end of namespace Euclid
146
147
#endif
/* TABLE_COLUMNINFO_H */
ColumnDescription.h
Export.h
std::string
Euclid::Table::ColumnDescription
Contains the description of a specific column of a Table.
Definition:
ColumnDescription.h:55
Euclid::Table::ColumnInfo
Provides information about the columns of a Table.
Definition:
ColumnInfo.h:52
Euclid::Table::ColumnInfo::m_info_list
std::vector< info_type > m_info_list
Definition:
ColumnInfo.h:141
Euclid::Table::ColumnInfo::~ColumnInfo
virtual ~ColumnInfo()=default
Default destructor.
ELEMENTS_API
#define ELEMENTS_API
Euclid
Definition:
index_sequence.h:27
boost::operator!=
bool operator!=(const Euclid::SourceCatalog::Source::id_type &a, const Euclid::SourceCatalog::Source::id_type &b)
boost::variant specifies an equality operator (==), but, in older boost versions, not an inequality o...
Definition:
Source.h:145
std::size_t
std::unique_ptr
std::vector
Generated by
1.9.1