casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PassThroughTVI.h
Go to the documentation of this file.
1 /* -*- mode: c++ -*- */
2 //# PassThroughTVI
3 //# Copyright (C) 2017
4 //# Associated Universities, Inc. Washington DC, USA.
5 //#
6 //# This library is free software; you can redistribute it and/or modify it
7 //# under the terms of the GNU Library General Public License as published by
8 //# the Free Software Foundation; either version 2 of the License, or (at your
9 //# option) any later version.
10 //#
11 //# This library is distributed in the hope that it will be useful, but WITHOUT
12 //# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 //# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
14 //# License for more details.
15 //#
16 //# You should have received a copy of the GNU Library General Public License
17 //# along with this library; if not, write to the Free Software Foundation,
18 //# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
19 //#
20 //# Correspondence concerning AIPS++ should be addressed as follows:
21 //# Internet email: aips2-request@nrao.edu.
22 //# Postal address: AIPS++ Project Office
23 //# National Radio Astronomy Observatory
24 //# 520 Edgemont Road
25 //# Charlottesville, VA 22903-2475 USA
26 //#
27 
28 #ifndef PASSTHROUGHTVI_H_
29 #define PASSTHROUGHTVI_H_
30 
33 
34 namespace casa { //# NAMESPACE CASA - BEGIN
35 
36 namespace vi { //# NAMESPACE VI - BEGIN
37 
38 /*
39  * This class is the simplest TVI possible that passes all the requests to the
40  * underlying VI (delegating to TransformingVi2). It can be used for
41  * testing purposes.
42  */
44 {
45 public:
46 
47  //Constructor
49 
50  void origin();
51 
52  void next();
53 
54 };
55 
56 /*
57  * Factory that allows the creation of DataSwappingTVI classes.
58  * This factory doesn't have any parameter to configure
59  */
61 {
62 
63 public:
64 
66 
68 
69 protected:
70 
71  virtual ViImplementation2 * createInstance(ViImplementation2* vii0) const;
72 };
73 
74 
75 } // end namespace vi
76 
77 } // end namespace casa
78 
79 #endif /* PASSTHROUGHTVI_H_ */
void origin()
+==================================+ | | | Iteration Control and Monitoring | | | +==================...
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
PassThroughTVI(ViImplementation2 *inputVii)
Constructor.
VisibilityIterator2 iterates through one or more readonly MeasurementSets.
virtual ViImplementation2 * createInstance(ViImplementation2 *vii0) const
Make a ViImplementation with another as input Must be specialized for each type.