Alexandria
2.14.1
Please provide a description of the project.
Table
Table
ColumnDescription.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_COLUMNDESCRIPTION_H
26
#define _TABLE_COLUMNDESCRIPTION_H
27
28
#include <string>
29
#include <typeindex>
30
#include <iomanip>
31
#include <functional>
32
#include <ostream>
33
34
namespace
Euclid
{
35
namespace
Table {
36
55
class
ColumnDescription
{
56
57
public
:
58
62
ColumnDescription
(
std::string
name
,
std::type_index
type
=
typeid
(
std::string
),
63
std::string
unit
=
""
,
std::string
description
=
""
);
64
65
ColumnDescription
(
const
ColumnDescription
&) =
default
;
66
ColumnDescription
(
ColumnDescription
&&) =
default
;
67
ColumnDescription
&
operator=
(
const
ColumnDescription
&) =
default
;
68
ColumnDescription
&
operator=
(
ColumnDescription
&&) =
default
;
69
70
72
bool
operator!=
(
const
ColumnDescription
& other)
const
{
73
return
!(*
this
== other);
// Reuse equals operator
74
}
75
78
bool
operator==
(
const
ColumnDescription
& other)
const
{
79
return
name
== other.
name
&&
type
== other.
type
&&
unit
== other.
unit
;
80
}
81
82
std::string
name
;
83
std::type_index
type
;
84
std::string
unit
;
85
std::string
description
;
86
87
};
/* End of ColumnDescription class */
88
89
}
/* namespace Table */
90
}
/* namespace Euclid */
91
92
93
#endif
Euclid::Table::ColumnDescription::unit
std::string unit
Definition:
ColumnDescription.h:84
Euclid::Table::ColumnDescription::description
std::string description
Definition:
ColumnDescription.h:85
std::string
STL class.
Euclid::Table::ColumnDescription::name
std::string name
Definition:
ColumnDescription.h:82
std::type_index
Euclid::Table::ColumnDescription::operator!=
bool operator!=(const ColumnDescription &other) const
Returns true if the two ColumnDescriptions do not describe the same column.
Definition:
ColumnDescription.h:72
Euclid::Table::ColumnDescription::type
std::type_index type
Definition:
ColumnDescription.h:83
Euclid::Table::ColumnDescription
Contains the description of a specific column of a Table.
Definition:
ColumnDescription.h:55
Euclid::Table::ColumnDescription::ColumnDescription
ColumnDescription(std::string name, std::type_index type=typeid(std::string), std::string unit="", std::string description="")
Definition:
ColumnDescription.cpp:39
Euclid
Definition:
InstOrRefHolder.h:29
Euclid::Table::ColumnDescription::operator=
ColumnDescription & operator=(const ColumnDescription &)=default
Euclid::Table::ColumnDescription::operator==
bool operator==(const ColumnDescription &other) const
Definition:
ColumnDescription.h:78
Generated by
1.8.17