casacore
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
casa
Arrays
ArrayMathBase.h
Go to the documentation of this file.
1
//# ArrayMathBase.h: Basic functions and classes for math on Array objects
2
//# Copyright (C) 2012
3
//# Associated Universities, Inc. Washington DC, USA.
4
//#
5
//# This library is free software; you can redistribute it and/or modify it
6
//# under the terms of the GNU Library General Public License as published by
7
//# the Free Software Foundation; either version 2 of the License, or (at your
8
//# option) any later version.
9
//#
10
//# This library is distributed in the hope that it will be useful, but WITHOUT
11
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13
//# License for more details.
14
//#
15
//# You should have received a copy of the GNU Library General Public License
16
//# along with this library; if not, write to the Free Software Foundation,
17
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18
//#
19
//# Correspondence concerning AIPS++ should be addressed as follows:
20
//# Internet email: aips2-request@nrao.edu.
21
//# Postal address: AIPS++ Project Office
22
//# National Radio Astronomy Observatory
23
//# 520 Edgemont Road
24
//# Charlottesville, VA 22903-2475 USA
25
//#
26
//# $Id: ArrayMathBase.h 21262 2012-09-07 12:38:36Z gervandiepen $
27
28
#ifndef CASA_ARRAYMATHBASE_2_H
29
#define CASA_ARRAYMATHBASE_2_H
30
31
#include "
ArrayFwd.h
"
32
33
namespace
casacore {
34
35
// <summary>
36
// Basic class for math on Array objects
37
// </summary>
38
//
39
// <reviewed reviewer="UNKNOWN" date="" tests="tArrayMath">
40
//
41
// <prerequisite>
42
// <li> <linkto class=Array>Array</linkto>
43
// </prerequisite>
44
//
45
// <synopsis>
46
// The abstract base class ArrayFunctorBase is defined for functors to
47
// be used in functions like slidingXXX.
48
// Virtual functions instead of templated functions are used to avoid
49
// code bloat when used in functions like partialArrayMath. Because a
50
// reduction operation usually takes much more time than the call, using
51
// virtual functions hardly imposes a performance penalty.
52
// </synopsis>
53
template
<
typename
T,
typename
RES=T>
class
ArrayFunctorBase
{
54
public
:
55
virtual
~ArrayFunctorBase
() {}
56
virtual
RES
operator()
(
const
Array<T>
&)
const
= 0;
57
};
58
59
}
//# end namespace
60
61
#endif
ArrayFwd.h
casacore::ArrayFunctorBase::operator()
virtual RES operator()(const Array< T > &) const =0
casacore::ArrayFunctorBase
Basic class for math on Array objects.
Definition:
ArrayMathBase.h:53
casacore::Array< T >
casacore::ArrayFunctorBase::~ArrayFunctorBase
virtual ~ArrayFunctorBase()
Definition:
ArrayMathBase.h:55
Generated by
1.8.5