10#ifndef GSFUtils_AlignedDynArray_H
11#define GSFUtils_AlignedDynArray_H
28template<
typename T,
size_t ALIGNMENT>
34 static_assert(ALIGNMENT != 0,
"Zero alignment 0");
36 (ALIGNMENT & (ALIGNMENT - 1)) == 0,
37 "Alignment not a power of 2");
39 (ALIGNMENT %
sizeof(
void*)) == 0,
40 "Alignment not an integral multiple of sizeof(void*)");
43 std::is_standard_layout_v<T>,
44 "Type T is not standard layout");
126#include "TrkGaussianSumFilterUtils/AlignedDynArray.icc"
Dynamic array fullfilling alignment requirements.
AlignedDynArray(AlignedDynArray &&) noexcept
Move copy constructor.
const value_type * const_iterator
AlignedDynArray & operator=(AlignedDynArray const &)=delete
Deleted default assignment operator.
size_type size() const noexcept
AlignedDynArray(const size_type n, const T &value)
Constructor initializing elements to value.
pointer buffer() noexcept
iterator begin() noexcept
const value_type & const_reference
AlignedDynArray(const size_type n)
Constructor with default initializing elements.
AlignedDynArray()=delete
Deleted default constructor.
std::ptrdiff_t difference_type
bool empty() const noexcept
AlignedDynArray(AlignedDynArray const &)=delete
Deleted default copy constructor.