LSSTApplications  1.1.2+25,10.0+13,10.0+132,10.0+133,10.0+224,10.0+41,10.0+8,10.0-1-g0f53050+14,10.0-1-g4b7b172+19,10.0-1-g61a5bae+98,10.0-1-g7408a83+3,10.0-1-gc1e0f5a+19,10.0-1-gdb4482e+14,10.0-11-g3947115+2,10.0-12-g8719d8b+2,10.0-15-ga3f480f+1,10.0-2-g4f67435,10.0-2-gcb4bc6c+26,10.0-28-gf7f57a9+1,10.0-3-g1bbe32c+14,10.0-3-g5b46d21,10.0-4-g027f45f+5,10.0-4-g86f66b5+2,10.0-4-gc4fccf3+24,10.0-40-g4349866+2,10.0-5-g766159b,10.0-5-gca2295e+25,10.0-6-g462a451+1
LSSTDataManagementBasePackage
Classes | Namespaces | Functions
Vector.h File Reference

Definition for Vector. More...

#include <boost/type_traits/is_arithmetic.hpp>
#include <boost/iterator/reverse_iterator.hpp>
#include <boost/mpl/int.hpp>
#include <boost/utility/enable_if.hpp>
#include <boost/preprocessor/repetition/repeat.hpp>
#include <boost/preprocessor/repetition/repeat_from_to.hpp>
#include <boost/preprocessor/repetition/enum.hpp>
#include <iostream>
#include "ndarray_fwd.h"
#include "ndarray/types.h"

Go to the source code of this file.

Classes

struct  ndarray::detail::DefaultValue< T, isArithmetic >
 
struct  ndarray::detail::DefaultValue< T, true >
 
class  ndarray::Vector< T, N >
 A fixed-size 1D array class. More...
 
struct  ndarray::Vector< T, 0 >
 PArtial specialization for zero-size vectors to avoid compiler errors on some platforms. More...
 

Namespaces

 ndarray
 
 ndarray::detail
 

Functions

template<typename T , int N, int M>
Vector< T, N+M > ndarray::concatenate (Vector< T, N > const &a, Vector< T, M > const &b)
 Concatenate two Vectors into a single long Vector. More...
 
template<typename T , int N>
Vector< T, N+1 > ndarray::concatenate (Vector< T, N > const &a, T const &b)
 Return a new Vector with the given scalar appended to the original. More...
 
template<typename T , int N>
Vector< T, N+1 > ndarray::concatenate (T const &a, Vector< T, N > const &b)
 Return a new Vector with the given scalar prepended to the original. More...
 
template<typename T , int N>
Vector< T, N > ndarray::makeVector (T v1, T v2,..., T vN)
 Variadic constructor for Vector. More...
 
template<typename T , int N>
Vector< T, N > ndarray::operator~ (Vector< T, N > const &vector)
 Unary bitwise NOT for Vector. More...
 
template<typename T , int N>
Vector< T, N > ndarray::operator! (Vector< T, N > const &vector)
 Unary negation for Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator+ (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector + Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator+ (Vector< T, N > const &a, U b)
 Operator overload for Vector + Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator+ (U a, Vector< T, N > const &b)
 Operator overload for Scalar + Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator- (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector - Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator- (Vector< T, N > const &a, U b)
 Operator overload for Vector - Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator- (U a, Vector< T, N > const &b)
 Operator overload for Scalar - Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator* (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector * Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator* (Vector< T, N > const &a, U b)
 Operator overload for Vector * Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator* (U a, Vector< T, N > const &b)
 Operator overload for Scalar * Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator/ (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector / Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator/ (Vector< T, N > const &a, U b)
 Operator overload for Vector / Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator/ (U a, Vector< T, N > const &b)
 Operator overload for Scalar / Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator% (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector % Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator% (Vector< T, N > const &a, U b)
 Operator overload for Vector % Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator% (U a, Vector< T, N > const &b)
 Operator overload for Scalar % Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator& (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector & Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator& (Vector< T, N > const &a, U b)
 Operator overload for Vector & Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator& (U a, Vector< T, N > const &b)
 Operator overload for Scalar & Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator^ (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector ^ Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator^ (Vector< T, N > const &a, U b)
 Operator overload for Vector ^ Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator^ (U a, Vector< T, N > const &b)
 Operator overload for Scalar ^ Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator| (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector | Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator| (Vector< T, N > const &a, U b)
 Operator overload for Vector | Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator| (U a, Vector< T, N > const &b)
 Operator overload for Scalar | Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator<< (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector << Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator<< (Vector< T, N > const &a, U b)
 Operator overload for Vector << Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator<< (U a, Vector< T, N > const &b)
 Operator overload for Scalar << Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator>> (Vector< T, N > const &a, Vector< U, N > const &b)
 Operator overload for Vector >> Vector. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator>> (Vector< T, N > const &a, U b)
 Operator overload for Vector >> Scalar. More...
 
template<typename T , typename U , int N>
Vector< typename Promote< T, U >
::Type, N > 
ndarray::operator>> (U a, Vector< T, N > const &b)
 Operator overload for Scalar >> Vector. More...
 

Detailed Description

Definition for Vector.

Definition in file Vector.h.