LSSTApplications  19.0.0-14-gb0260a2+6327455aeb,20.0.0+44dbdb3492,20.0.0+8a208d85ec,20.0.0+914fcaec49,20.0.0+a571b09ef0,20.0.0+f15d39cacd,20.0.0-1-g253301a+8a208d85ec,20.0.0-1-g5b95a8c+351e15424a,20.0.0-16-g760a3dc6+7dead9ab29,20.0.0-18-gcabc0c9fd+54cb7ade16,20.0.0-2-g4dae9ad+8a636d8bd2,20.0.0-2-g61b8584+b4ab3064f8,20.0.0-2-ga51b5d4+1f4ba438e8,20.0.0-2-gb780d76+d529cf1a41,20.0.0-2-ged6426c+3033df31e9,20.0.0-2-gf072044+8a208d85ec,20.0.0-2-gf1f7952+8a636d8bd2,20.0.0-22-g54e2caa+8bd7be2b67,20.0.0-25-g5eafb0f+8a636d8bd2,20.0.0-28-g73474ed+df2822652a,20.0.0-29-g1235a2f+94e05d8818,20.0.0-3-g8f21e14+2bd63a3b42,20.0.0-3-gbd60e8c+ffb20d0b0d,20.0.0-3-gbecbe05+7f0063ada4,20.0.0-4-g4bc9b9f+5be46ab906,20.0.0-4-g97dc21a+df2822652a,20.0.0-4-gb4befbc+928dca1c48,20.0.0-4-gf910f65+b4ab3064f8,20.0.0-42-g74ec3ae9+afa8208526,20.0.0-5-gfbfe500+d529cf1a41,20.0.0-6-g4aa86cc+9b37c72498,20.0.0-6-g9a5b7a1+9aa0dcac42,20.0.0-6-gd222c45+7040a8a6f6,20.0.0-73-gf477d90+d0de1c7e9f,20.0.0-9-g4aef684+2aec92f563,20.0.0-9-g5051ac2+d529cf1a41,w.2020.47
LSSTDataManagementBasePackage
Public Member Functions | List of all members
lsst::afw::fits::detail::PixelArray< T > Class Template Reference

Typed array of pixel values. More...

#include <fitsCompression.h>

Inheritance diagram for lsst::afw::fits::detail::PixelArray< T >:
lsst::afw::fits::detail::PixelArrayBase

Public Member Functions

 PixelArray ()=delete
 
 PixelArray (PixelArray const &)=delete
 
 PixelArray (ndarray::Array< T, 1, 1 > const &array)
 Construct from an ndarray::Array of the same type. More...
 
template<typename U >
 PixelArray (ndarray::Array< U, 1, 1 > const &array)
 Construct from an ndarray::Array of different type. More...
 
 ~PixelArray () override
 
void const * getData () const override
 Return a void* array of the pixels. More...
 
std::size_t getNumElements () const
 Return the number of pixels. More...
 

Detailed Description

template<typename T>
class lsst::afw::fits::detail::PixelArray< T >

Typed array of pixel values.

Definition at line 94 of file fitsCompression.h.

Constructor & Destructor Documentation

◆ PixelArray() [1/4]

template<typename T >
lsst::afw::fits::detail::PixelArray< T >::PixelArray ( )
delete

◆ PixelArray() [2/4]

template<typename T >
lsst::afw::fits::detail::PixelArray< T >::PixelArray ( PixelArray< T > const &  )
delete

◆ PixelArray() [3/4]

template<typename T >
lsst::afw::fits::detail::PixelArray< T >::PixelArray ( ndarray::Array< T, 1, 1 > const &  array)
inline

Construct from an ndarray::Array of the same type.

Copies pointers only, no deep copy.

Definition at line 102 of file fitsCompression.h.

103  : PixelArrayBase(array.getNumElements()),
104  _pixels(array.getData()),
105  _manager(array.getManager()) {}

◆ PixelArray() [4/4]

template<typename T >
template<typename U >
lsst::afw::fits::detail::PixelArray< T >::PixelArray ( ndarray::Array< U, 1, 1 > const &  array)
inline

Construct from an ndarray::Array of different type.

Allocates memory and sets values: necessary to support the type change.

Definition at line 111 of file fitsCompression.h.

111  : PixelArrayBase(array.getNumElements()) {
112  auto mem = ndarray::SimpleManager<U>::allocate(getNumElements());
113  _manager = mem.first;
114  _pixels = mem.second;
115  std::copy(array.begin(), array.end(),
116  const_cast<typename std::remove_const<T>::type*>(reinterpret_cast<T const*>(_pixels)));
117  }

◆ ~PixelArray()

template<typename T >
lsst::afw::fits::detail::PixelArray< T >::~PixelArray ( )
inlineoverride

Definition at line 119 of file fitsCompression.h.

119 {}

Member Function Documentation

◆ getData()

template<typename T >
void const* lsst::afw::fits::detail::PixelArray< T >::getData ( ) const
inlineoverridevirtual

Return a void* array of the pixels.

Implements lsst::afw::fits::detail::PixelArrayBase.

Definition at line 121 of file fitsCompression.h.

121 { return _pixels; }

◆ getNumElements()

std::size_t lsst::afw::fits::detail::PixelArrayBase::getNumElements ( ) const
inlineinherited

Return the number of pixels.

Definition at line 83 of file fitsCompression.h.

83 { return _num; }

The documentation for this class was generated from the following file:
lsst::afw::fits::detail::PixelArrayBase::getNumElements
std::size_t getNumElements() const
Return the number of pixels.
Definition: fitsCompression.h:83
std::copy
T copy(T... args)
lsst::afw::fits::detail::PixelArrayBase::PixelArrayBase
PixelArrayBase(std::size_t num)
Definition: fitsCompression.h:86
std::remove_const