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
ndarray
11.0.rc2+1
include
ndarray_fwd.h
Go to the documentation of this file.
1
// -*- c++ -*-
2
/*
3
* LSST Data Management System
4
* Copyright 2008, 2009, 2010, 2011 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 NDARRAY_ndarray_fwd_h_INCLUDED
24
#define NDARRAY_ndarray_fwd_h_INCLUDED
25
32
35
37
39
40
#include <boost/type_traits/is_const.hpp>
41
#include <boost/type_traits/add_const.hpp>
42
#include <boost/type_traits/remove_const.hpp>
43
#include <cassert>
44
45
#ifdef __GNUC__
46
#if __GNUC__ == 4 && __GNUC_MINOR__ == 5
47
#define GCC_45
48
#endif
49
#endif
50
51
#define NDARRAY_ASSERT(ARG) assert(ARG)
52
53
namespace
ndarray {
54
55
template
<
typename
T,
int
N,
int
C>
struct
ArrayTraits;
56
template
<
typename
Expression_>
struct
ExpressionTraits;
57
class
Manager;
58
60
enum
DataOrderEnum
{
ROW_MAJOR
=1,
COLUMN_MAJOR
=2 };
61
62
namespace
detail {
63
64
template
<
int
N>
class
Core;
65
66
class
CountingExpression;
67
68
template
<
69
typename
Operand,
70
typename
UnaryFunction,
71
int
N = ExpressionTraits<Operand>::ND::value
72
>
73
class
UnaryOpExpression;
74
75
template
<
76
typename
Operand1,
77
typename
Operand2,
78
typename
BinaryFunction,
79
int
N = ExpressionTraits<Operand1>::ND::value
80
>
81
class
BinaryOpExpression;
82
83
template
<
typename
Iterator_>
struct
IteratorTraits
;
84
85
template
<
typename
T,
int
N,
int
C>
class
NestedIterator
;
86
87
template
<
typename
T>
class
StridedIterator
;
88
89
#ifndef GCC_45
90
91
template
<
92
typename
Operand,
93
typename
UnaryFunction
94
>
95
class
UnaryOpIterator
;
96
97
template
<
98
typename
Operand1,
99
typename
Operand2,
100
typename
BinaryFunction
101
>
102
class
BinaryOpIterator
;
103
104
#endif
105
106
}
// namespace detail
107
108
template
<
typename
Derived>
class
ExpressionBase
;
109
template
<
typename
Derived>
class
ArrayBase
;
110
template
<
typename
T,
int
N,
int
C=0>
class
ArrayRef
;
111
template
<
typename
T,
int
N,
int
C=0>
class
Array
;
112
template
<
typename
T,
int
N>
struct
Vector
;
113
114
}
// namespace ndarray
115
116
#endif // !NDARRAY_ndarray_fwd_h_INCLUDED
ndarray::ArrayRef
A proxy class for Array with deep assignment operators.
Definition:
ArrayRef.h:46
ndarray::detail::UnaryOpIterator
Definition:
UnaryOp.h:47
ndarray::ROW_MAJOR
Definition:
ndarray_fwd.h:60
ndarray::Vector
A fixed-size 1D array class.
Definition:
Vector.h:93
ndarray::ArrayBase
CRTP implementation for Array and ArrayRef.
Definition:
ArrayBase.h:56
ndarray::DataOrderEnum
DataOrderEnum
An enumeration for stride computation.
Definition:
ndarray_fwd.h:60
ndarray::Array
A multidimensional strided array.
Definition:
Array.h:47
ndarray::COLUMN_MAJOR
Definition:
ndarray_fwd.h:60
ndarray::detail::StridedIterator
Definition:
StridedIterator.h:44
ndarray::detail::BinaryOpIterator
Definition:
BinaryOp.h:49
ndarray::detail::NestedIterator
Definition:
NestedIterator.h:52
ndarray::ExpressionBase
CRTP base class for all multidimensional expressions.
Definition:
ExpressionBase.h:52
ndarray::detail::IteratorTraits
Definition:
ndarray_fwd.h:83
Generated on Wed Sep 16 2015 13:35:33 for LSSTApplications by
1.8.5