LSSTApplications  8.0.0.0+107,8.0.0.1+13,9.1+18,9.2,master-g084aeec0a4,master-g0aced2eed8+6,master-g15627eb03c,master-g28afc54ef9,master-g3391ba5ea0,master-g3d0fb8ae5f,master-g4432ae2e89+36,master-g5c3c32f3ec+17,master-g60f1e072bb+1,master-g6a3ac32d1b,master-g76a88a4307+1,master-g7bce1f4e06+57,master-g8ff4092549+31,master-g98e65bf68e,master-ga6b77976b1+53,master-gae20e2b580+3,master-gb584cd3397+53,master-gc5448b162b+1,master-gc54cf9771d,master-gc69578ece6+1,master-gcbf758c456+22,master-gcec1da163f+63,master-gcf15f11bcc,master-gd167108223,master-gf44c96c709
LSSTDataManagementBasePackage
Public Member Functions | Private Attributes | List of all members
ndarray::detail::ExternalInitializer< T, N, Owner > Class Template Reference

#include <initialization.h>

Inheritance diagram for ndarray::detail::ExternalInitializer< T, N, Owner >:
ndarray::detail::Initializer< N, ExternalInitializer< T, N, Owner > >

Public Member Functions

template<typename Target >
Target apply () const
 
 ExternalInitializer (T *data, Vector< int, N > const &shape, Vector< int, N > const &strides, Owner const &owner)
 
- Public Member Functions inherited from ndarray::detail::Initializer< N, ExternalInitializer< T, N, Owner > >
 operator Array< T, N, C > () const
 
 operator ArrayRef< T, N, C > () const
 

Private Attributes

T * _data
 
Owner _owner
 
Vector< int, N > _shape
 
Vector< int, N > _strides
 

Detailed Description

template<typename T, int N, typename Owner>
class ndarray::detail::ExternalInitializer< T, N, Owner >

Definition at line 76 of file initialization.h.

Constructor & Destructor Documentation

template<typename T, int N, typename Owner>
ndarray::detail::ExternalInitializer< T, N, Owner >::ExternalInitializer ( T *  data,
Vector< int, N > const &  shape,
Vector< int, N > const &  strides,
Owner const &  owner 
)
inline

Member Function Documentation

template<typename T, int N, typename Owner>
template<typename Target >
Target ndarray::detail::ExternalInitializer< T, N, Owner >::apply ( ) const
inline

Definition at line 80 of file initialization.h.

80  {
81  typedef detail::ArrayAccess< Target > Access;
82  typedef typename Access::Core Core;
83  typedef typename Access::Element Element;
84  Manager::Ptr manager;
85  if (!boost::is_same<Owner,NullOwner>::value) {
86  manager = makeManager(_owner);
87  }
88  return Access::construct(_data, Core::create(_shape, _strides, manager));
89  }
static Ptr create(Vector< int, M > const &shape, Vector< int, M > const &strides, Manager::Ptr const &manager=Manager::Ptr())
Create a Core::Ptr with the given shape, strides, and manager.
Definition: Core.h:68
boost::intrusive_ptr< Manager > Ptr
Definition: Manager.h:42
Manager::Ptr makeManager(T const &owner)
Definition: Manager.h:101

Member Data Documentation

template<typename T, int N, typename Owner>
T* ndarray::detail::ExternalInitializer< T, N, Owner >::_data
private

Definition at line 99 of file initialization.h.

template<typename T, int N, typename Owner>
Owner ndarray::detail::ExternalInitializer< T, N, Owner >::_owner
private

Definition at line 100 of file initialization.h.

template<typename T, int N, typename Owner>
Vector<int,N> ndarray::detail::ExternalInitializer< T, N, Owner >::_shape
private

Definition at line 101 of file initialization.h.

template<typename T, int N, typename Owner>
Vector<int,N> ndarray::detail::ExternalInitializer< T, N, Owner >::_strides
private

Definition at line 102 of file initialization.h.


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