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
Public Types | Public Member Functions | Static Public Member Functions | List of all members
ndarray::detail::ComplexExtractor< Array_ > Struct Template Reference

#include <casts.h>

Public Types

typedef ExpressionTraits
< Array_ >::Element 
ComplexElement
 
typedef boost::remove_const
< ComplexElement >::type 
ComplexValue
 
typedef ExpressionTraits
< Array_ >::ND 
ND
 
typedef ComplexValue::value_type RealValue
 
typedef boost::mpl::if_
< boost::is_const
< ComplexElement >, RealValue
const, RealValue >::type 
RealElement
 
typedef ArrayRef< RealElement,
ND::value, 0 > 
Result
 
typedef detail::ArrayAccess
< Result
Access
 
typedef Vector< int, ND::value > Index
 

Public Member Functions

 BOOST_STATIC_ASSERT (boost::is_complex< ComplexValue >::value)
 

Static Public Member Functions

static Result apply (Array_ const &array, int offset)
 

Detailed Description

template<typename Array_>
struct ndarray::detail::ComplexExtractor< Array_ >

Definition at line 44 of file casts.h.

Member Typedef Documentation

template<typename Array_ >
typedef detail::ArrayAccess<Result> ndarray::detail::ComplexExtractor< Array_ >::Access

Definition at line 54 of file casts.h.

template<typename Array_ >
typedef ExpressionTraits<Array_>::Element ndarray::detail::ComplexExtractor< Array_ >::ComplexElement

Definition at line 45 of file casts.h.

template<typename Array_ >
typedef boost::remove_const<ComplexElement>::type ndarray::detail::ComplexExtractor< Array_ >::ComplexValue

Definition at line 46 of file casts.h.

template<typename Array_ >
typedef Vector<int,ND::value> ndarray::detail::ComplexExtractor< Array_ >::Index

Definition at line 55 of file casts.h.

template<typename Array_ >
typedef ExpressionTraits<Array_>::ND ndarray::detail::ComplexExtractor< Array_ >::ND

Definition at line 47 of file casts.h.

template<typename Array_ >
typedef boost::mpl::if_< boost::is_const<ComplexElement>, RealValue const, RealValue >::type ndarray::detail::ComplexExtractor< Array_ >::RealElement

Definition at line 52 of file casts.h.

template<typename Array_ >
typedef ComplexValue::value_type ndarray::detail::ComplexExtractor< Array_ >::RealValue

Definition at line 49 of file casts.h.

template<typename Array_ >
typedef ArrayRef<RealElement,ND::value,0> ndarray::detail::ComplexExtractor< Array_ >::Result

Definition at line 53 of file casts.h.

Member Function Documentation

template<typename Array_ >
static Result ndarray::detail::ComplexExtractor< Array_ >::apply ( Array_ const &  array,
int  offset 
)
inlinestatic

Definition at line 57 of file casts.h.

57  {
58  return Access::construct(
59  reinterpret_cast<RealElement*>(array.getData()) + offset,
60  Access::Core::create(array.getShape(), array.getStrides() * 2, array.getManager())
61  );
62  }
static Array_ construct(Element *data, CorePtr const &core)
Definition: ArrayAccess.h:48
template<typename Array_ >
ndarray::detail::ComplexExtractor< Array_ >::BOOST_STATIC_ASSERT ( boost::is_complex< ComplexValue >::value  )

The documentation for this struct was generated from the following file: