Alexandria
2.14.1
Please provide a description of the project.
Table
Table
ColumnInfo.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012-2020 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 <string>
29
#include <vector>
30
#include <memory>
31
#include <typeindex>
32
#include <utility>
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
56
using
info_type
=
ColumnDescription
;
57
76
ColumnInfo
(
std::vector<info_type>
info_list);
77
79
virtual
~
ColumnInfo
() =
default
;
80
88
bool
operator==(
const
ColumnInfo
& other)
const
;
89
97
bool
operator!=
(
const
ColumnInfo
& other)
const
;
98
105
std::size_t
size()
const
;
106
117
const
ColumnDescription
& getDescription(
std::size_t
index)
const
;
118
127
std::unique_ptr<std::size_t>
find(
const
std::string
& name)
const
;
128
129
private
:
130
std::vector<info_type>
m_info_list
;
131
132
};
133
134
}
135
}
// end of namespace Euclid
136
137
#endif
/* TABLE_COLUMNINFO_H */
138
Euclid::Table::ColumnInfo::m_info_list
std::vector< info_type > m_info_list
Definition:
ColumnInfo.h:130
ColumnDescription.h
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:118
std::size_t
std::string
STL class.
Euclid
Definition:
InstOrRefHolder.h:29
Export.h
ELEMENTS_API
#define ELEMENTS_API
std::vector
STL class.
Euclid::Table::ColumnInfo
Provides information about the columns of a Table.
Definition:
ColumnInfo.h:52
std::unique_ptr
STL class.
Euclid::Table::ColumnDescription
Contains the description of a specific column of a Table.
Definition:
ColumnDescription.h:55
Generated by
1.8.15