LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
afw
11.0-2-g04d2804
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::ReferenceFunctorKey::~ReferenceFunctorKey
virtual ~ReferenceFunctorKey()
Definition:
FunctorKey.h:90
lsst::afw::table::OutputFunctorKey
Definition:
FunctorKey.h:38
lsst::afw::table::ConstReferenceFunctorKey::~ConstReferenceFunctorKey
virtual ~ConstReferenceFunctorKey()
Definition:
FunctorKey.h:112
fwd.h
lsst::afw::table::InputFunctorKey::set
virtual void set(BaseRecord &record, T const &value) const =0
Key.h
lsst::afw::table::ReferenceFunctorKey::getReference
virtual T getReference(BaseRecord &record) const =0
lsst::afw::table::ConstReferenceFunctorKey
Definition:
FunctorKey.h:105
lsst::afw::table::InputFunctorKey
Definition:
FunctorKey.h:54
lsst::afw::table::OutputFunctorKey::~OutputFunctorKey
virtual ~OutputFunctorKey()
Definition:
FunctorKey.h:43
lsst::afw::table::ReferenceFunctorKey
Definition:
FunctorKey.h:83
lsst::afw::table::BaseRecord
Base class for all records.
Definition:
BaseRecord.h:27
lsst::afw::table::ConstReferenceFunctorKey::getConstReference
virtual T getConstReference(BaseRecord const &record) const =0
lsst::afw::table::FunctorKey
Definition:
FunctorKey.h:70
lsst::afw::table::InputFunctorKey::~InputFunctorKey
virtual ~InputFunctorKey()
Definition:
FunctorKey.h:59
Generated on Thu Sep 24 2015 02:29:16 for LSSTApplications by
1.8.5