lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
table
FunctorKey.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008-2014 LSST Corporation.
5
*
6
* This product includes software developed by the
7
* LSST Project (http://www.lsst.org/).
8
*
9
* This program is free software: you can redistribute it and/or modify
10
* it under the terms of the GNU General Public License as published by
11
* the Free Software Foundation, either version 3 of the License, or
12
* (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the LSST License Statement and
20
* the GNU General Public License along with this program. If not,
21
* see <http://www.lsstcorp.org/LegalNotices/>.
22
*/
23
#ifndef AFW_TABLE_FunctorKey_h_INCLUDED
24
#define AFW_TABLE_FunctorKey_h_INCLUDED
25
26
#include "
lsst/afw/table/fwd.h
"
27
#include "
lsst/afw/table/Key.h
"
28
29
namespace
lsst
{
30
namespace
afw
{
31
namespace
table
{
32
39
template
<
typename
T>
40
class
OutputFunctorKey
{
41
public
:
43
using
Value
= T;
44
45
virtual
T
get
(
BaseRecord
const
& record)
const
= 0;
46
47
virtual
~OutputFunctorKey
() noexcept = default;
48
};
49
56
template <typename T>
57
class
InputFunctorKey
{
58
public
:
60
using
Value
= T;
61
62
virtual
void
set
(
BaseRecord
& record, T
const
& value)
const
= 0;
63
64
virtual
~InputFunctorKey
() noexcept = default;
65
};
66
73
template <typename T>
74
class
FunctorKey
: public
OutputFunctorKey
<T>, public
InputFunctorKey
<T> {
75
public
:
77
using
Value
= T;
78
};
79
90
template
<
typename
T>
91
class
ReferenceFunctorKey
{
92
public
:
93
virtual
T
getReference
(
BaseRecord
& record)
const
= 0;
94
95
virtual
~ReferenceFunctorKey
() noexcept = default;
96
};
97
108
template <typename T>
109
class
ConstReferenceFunctorKey
{
110
public
:
111
virtual
T
getConstReference
(
BaseRecord
const
& record)
const
= 0;
112
113
virtual
~ConstReferenceFunctorKey
() noexcept = default;
114
};
115
}
// namespace table
116
}
// namespace afw
117
}
// namespace lsst
118
119
#endif
// !AFW_TABLE_FunctorKey_h_INCLUDED
lsst::afw::table::BaseRecord
Base class for all records.
Definition
BaseRecord.h:31
lsst::afw::table::ConstReferenceFunctorKey
Base class for objects that can return a const reference to part of a record, but are not a true Key.
Definition
FunctorKey.h:109
lsst::afw::table::ConstReferenceFunctorKey::~ConstReferenceFunctorKey
virtual ~ConstReferenceFunctorKey() noexcept=default
lsst::afw::table::ConstReferenceFunctorKey::getConstReference
virtual T getConstReference(BaseRecord const &record) const =0
lsst::afw::table::FunctorKey
Convenience base class that combines the OutputFunctorKey and InputFunctorKey.
Definition
FunctorKey.h:74
lsst::afw::table::FunctorKey::Value
T Value
The data type for get and set.
Definition
FunctorKey.h:77
lsst::afw::table::InputFunctorKey
Base class for objects that can set a value on a record, but are not a true Key themselves.
Definition
FunctorKey.h:57
lsst::afw::table::InputFunctorKey::~InputFunctorKey
virtual ~InputFunctorKey() noexcept=default
lsst::afw::table::InputFunctorKey::set
virtual void set(BaseRecord &record, T const &value) const =0
lsst::afw::table::InputFunctorKey::Value
T Value
The data type for set.
Definition
FunctorKey.h:60
lsst::afw::table::OutputFunctorKey
Base class for objects that can extract a value from a record, but are not a true Key themselves.
Definition
FunctorKey.h:40
lsst::afw::table::OutputFunctorKey::Value
T Value
The data type for get.
Definition
FunctorKey.h:43
lsst::afw::table::OutputFunctorKey::~OutputFunctorKey
virtual ~OutputFunctorKey() noexcept=default
lsst::afw::table::OutputFunctorKey::get
virtual T get(BaseRecord const &record) const =0
lsst::afw::table::ReferenceFunctorKey
Base class for objects that can return a non-const reference to part of a record, but are not a true ...
Definition
FunctorKey.h:91
lsst::afw::table::ReferenceFunctorKey::~ReferenceFunctorKey
virtual ~ReferenceFunctorKey() noexcept=default
lsst::afw::table::ReferenceFunctorKey::getReference
virtual T getReference(BaseRecord &record) const =0
fwd.h
lsst::afw::table
Definition
table.dox:3
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
Key.h
Generated on
for lsst.afw by
1.17.0