LSSTApplications
10.0-2-g4f67435,11.0.rc2+1,11.0.rc2+12,11.0.rc2+3,11.0.rc2+4,11.0.rc2+5,11.0.rc2+6,11.0.rc2+7,11.0.rc2+8
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0.rc2+4
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 {
namespace
afw {
namespace
table {
30
37
template
<
typename
T>
38
class
OutputFunctorKey
{
39
public
:
40
41
virtual
T
get
(
BaseRecord
const
& record)
const
= 0;
42
43
virtual
~OutputFunctorKey
() {}
44
45
};
46
53
template
<
typename
T>
54
class
InputFunctorKey
{
55
public
:
56
57
virtual
void
set
(
BaseRecord
& record, T
const
& value)
const
= 0;
58
59
virtual
~InputFunctorKey
() {}
60
61
};
62
69
template
<
typename
T>
70
class
FunctorKey
:
public
OutputFunctorKey
<T>,
public
InputFunctorKey
<T> {};
71
82
template
<
typename
T>
83
class
ReferenceFunctorKey
{
84
public
:
85
86
#ifndef SWIG
87
virtual
T
getReference
(
BaseRecord
& record)
const
= 0;
88
#endif
89
90
virtual
~ReferenceFunctorKey
() {}
91
92
};
93
104
template
<
typename
T>
105
class
ConstReferenceFunctorKey
{
106
public
:
107
108
#ifndef SWIG
109
virtual
T
getConstReference
(
BaseRecord
const
& record)
const
= 0;
110
#endif
111
112
virtual
~ConstReferenceFunctorKey
() {}
113
114
};
115
116
}}}
// namespace lsst::afw::table
117
118
#endif // !AFW_TABLE_FunctorKey_h_INCLUDED
lsst.afw.table::OutputFunctorKey
Definition:
FunctorKey.h:38
lsst.afw.table::OutputFunctorKey::~OutputFunctorKey
virtual ~OutputFunctorKey()
Definition:
FunctorKey.h:43
lsst.afw.table::ReferenceFunctorKey::getReference
virtual T getReference(BaseRecord &record) const =0
fwd.h
Key.h
lsst.afw.table::ConstReferenceFunctorKey
Definition:
FunctorKey.h:105
lsst.afw.table::InputFunctorKey::~InputFunctorKey
virtual ~InputFunctorKey()
Definition:
FunctorKey.h:59
lsst.afw.table::InputFunctorKey
Definition:
FunctorKey.h:54
lsst.afw.table::ReferenceFunctorKey::~ReferenceFunctorKey
virtual ~ReferenceFunctorKey()
Definition:
FunctorKey.h:90
lsst.afw.table::ConstReferenceFunctorKey::getConstReference
virtual T getConstReference(BaseRecord const &record) const =0
lsst.afw.table::ReferenceFunctorKey
Definition:
FunctorKey.h:83
lsst.afw.table::BaseRecord
Base class for all records.
Definition:
BaseRecord.h:27
lsst.afw.table::FunctorKey
Definition:
FunctorKey.h:70
lsst.afw.table::InputFunctorKey::set
virtual void set(BaseRecord &record, T const &value) const =0
lsst.afw.table::ConstReferenceFunctorKey::~ConstReferenceFunctorKey
virtual ~ConstReferenceFunctorKey()
Definition:
FunctorKey.h:112
Generated on Wed Sep 16 2015 13:35:26 for LSSTApplications by
1.8.5