Alexandria
2.16
Please provide a description of the project.
SourceCatalog
SourceCatalog
CatalogFromTable.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 CATALOGFACTORY_H_
26
#define CATALOGFACTORY_H_
27
#include <string>
28
#include <utility>
29
#include <map>
30
#include <memory>
31
32
#include "
ElementsKernel/Export.h
"
33
34
#include "
SourceCatalog/Catalog.h
"
35
#include "
SourceCatalog/AttributeFromRow.h
"
36
#include "
Table/Table.h
"
37
38
39
namespace
Euclid
{
40
namespace
SourceCatalog {
41
42
class
ELEMENTS_API
CatalogFromTable
{
43
public
:
44
CatalogFromTable
(
std::shared_ptr<Euclid::Table::ColumnInfo>
column_info_ptr,
45
const
std::string
& source_id_column_name,
46
std::vector
<
std::shared_ptr<AttributeFromRow>
> attribute_from_row_ptr_vector);
47
48
virtual
~
CatalogFromTable
();
49
50
Euclid::SourceCatalog::Catalog
createCatalog(
const
Euclid::Table::Table
& input_table);
51
52
private
:
53
size_t
m_source_id_index
;
54
55
std::vector<std::shared_ptr<AttributeFromRow>
>
m_attribute_from_row_ptr_vector
;
56
57
};
58
59
}
// namespace SourceCatalog
60
}
// end of namespace Euclid
61
62
#endif // CATALOGFACTORY_H_
AttributeFromRow.h
std::shared_ptr< Euclid::Table::ColumnInfo >
Euclid::SourceCatalog::CatalogFromTable::m_source_id_index
size_t m_source_id_index
Definition:
CatalogFromTable.h:53
Catalog.h
std::string
STL class.
Euclid
Definition:
InstOrRefHolder.h:29
Export.h
ELEMENTS_API
#define ELEMENTS_API
Euclid::Table::Table
Represents a table.
Definition:
Table.h:49
std::vector
STL class.
Table.h
Euclid::SourceCatalog::Catalog
Catalog contains a container of sources.
Definition:
Catalog.h:47
Euclid::SourceCatalog::CatalogFromTable::m_attribute_from_row_ptr_vector
std::vector< std::shared_ptr< AttributeFromRow > > m_attribute_from_row_ptr_vector
Definition:
CatalogFromTable.h:55
Euclid::SourceCatalog::CatalogFromTable
Definition:
CatalogFromTable.h:42
Generated by
1.8.14