lsst.afw g5c39d4753b+2b91704afc
fwd.h
Go to the documentation of this file.
1// -*- lsst-c++ -*-
2/*
3 * LSST Data Management System
4 * Copyright 2008-2013 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
24#ifndef LSST_AFW_TABLE_fwd_h_INCLUDED
25#define LSST_AFW_TABLE_fwd_h_INCLUDED
26
27/*
28 * Forward declarations and typedefs for afw::table
29 *
30 * Because many of the types in afw::table are actually typedefs of template classes,
31 * manual forward declarations are verbose and fragile. This file provides forward
32 * declarations and typedefs (of forward declarations) for all public classes in
33 * the package.
34 */
35
36#include <vector>
37
38#include "lsst/afw/table/misc.h"
39
40namespace lsst {
41namespace afw {
42namespace table {
43
44template <typename T>
45class Key;
46template <typename T>
47struct Field;
48template <typename T>
49struct SchemaItem;
50class Schema;
51class SchemaMapper;
52
53template <typename T>
54class OutputFunctorKey;
55template <typename T>
56class InputFunctorKey;
57
58template <typename T>
59class ColumnViewT;
60template <typename RecordT>
61class CatalogT;
62template <typename RecordT>
63class SortedCatalogT;
64template <typename RecordT>
65class SourceColumnViewT;
66template <typename RecordT>
67class ExposureCatalogT;
68
69class BaseRecord;
70class BaseTable;
71class BaseColumnView;
74
75class IdFactory;
76class SimpleRecord;
77class SimpleTable;
81
82class SourceRecord;
83class SourceTable;
87
88class ExposureRecord;
89class ExposureTable;
93
94class AmpInfoRecord;
95class AmpInfoTable;
99
100template <typename Record1, typename Record2>
101struct Match;
102
106
110
111namespace io {
112
113class Writer;
114class Reader;
115class FitsWriter;
116class FitsReader;
117class Persistable;
118class InputArchive;
119class OutputArchive;
120class CatalogVector;
121
122} // namespace io
123} // namespace table
124} // namespace afw
125} // namespace lsst
126
127#endif // !LSST_AFW_TABLE_fwd_h_INCLUDED
Custom catalog class for ExposureRecord/Table.
Definition: Exposure.h:311
Record class used to store exposure metadata.
Definition: Exposure.h:79
Table class used to store exposure metadata.
Definition: Exposure.h:195
A polymorphic functor base class for generating record IDs for a table.
Definition: IdFactory.h:21
Record class that must contain a unique ID field and a celestial coordinate field.
Definition: Simple.h:48
Table class that must contain a unique ID field and a celestial coordinate field.
Definition: Simple.h:102
Custom catalog class for record/table subclasses that are guaranteed to have an ID,...
Definition: SortedCatalog.h:42
Record class that contains measurements made on a single exposure.
Definition: Source.h:78
Table class that contains measurements made on a single exposure.
Definition: Source.h:217
A base class for image defects.
Lightweight representation of a geometric match between two records.
Definition: Match.h:67