PandaRoot
PndCAInternal::AlignedData< T, Size, _alignment > Class Template Reference

#include <PndCAArray.h>

Public Member Functions

T * ConstructAlignedData ()
 
 ~AlignedData ()
 

Detailed Description

template<typename T, unsigned int Size, int _alignment>
class PndCAInternal::AlignedData< T, Size, _alignment >

Definition at line 453 of file PndCAArray.h.

Constructor & Destructor Documentation

◆ ~AlignedData()

template<typename T, unsigned int Size, int _alignment>
PndCAInternal::AlignedData< T, Size, _alignment >::~AlignedData ( )
inline

Definition at line 461 of file PndCAArray.h.

462  {
463  const int offset = reinterpret_cast<unsigned long>(&fUnalignedArray[0]) & (Alignment - 1);
464  T *mem = reinterpret_cast<T *>(&fUnalignedArray[0] + (Alignment - offset));
465  for (unsigned int i = 0; i < Size; ++i) {
466  mem[i].~T();
467  }
468  }
unsigned int i
Definition: P4_F32vec4.h:33

Member Function Documentation

◆ ConstructAlignedData()

template<typename T, unsigned int Size, int _alignment>
T* PndCAInternal::AlignedData< T, Size, _alignment >::ConstructAlignedData ( )
inline

Definition at line 455 of file PndCAArray.h.

456  {
457  const int offset = reinterpret_cast<unsigned long>(&fUnalignedArray[0]) & (Alignment - 1);
458  void *mem = &fUnalignedArray[0] + (Alignment - offset);
459  return new (mem) T[Size];
460  }

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