35 #ifndef _BLAZE_UTIL_ALIGNEDARRAY_H_
36 #define _BLAZE_UTIL_ALIGNEDARRAY_H_
94 template<
typename Type
96 ,
size_t Alignment = AlignmentOf<Type>::value >
115 template<
typename... Ts >
116 explicit inline constexpr
AlignedArray(
const Ts&... args );
127 inline operator Pointer () noexcept;
128 inline constexpr operator ConstPointer() const noexcept;
135 inline Reference operator[](
size_t index ) noexcept;
136 inline constexpr ConstReference operator[](
size_t index ) const noexcept;
137 inline Reference
at(
size_t index );
138 inline ConstReference
at(
size_t index ) const;
139 inline Pointer
data() noexcept;
140 inline constexpr ConstPointer
data() const noexcept;
141 inline Iterator
begin () noexcept;
142 inline constexpr ConstIterator
begin () const noexcept;
143 inline constexpr ConstIterator
cbegin() const noexcept;
144 inline Iterator
end () noexcept;
145 inline constexpr ConstIterator
end () const noexcept;
146 inline constexpr ConstIterator
cend () const noexcept;
153 inline constexpr
size_t size() const noexcept;
162 alignas( Alignment ) Type v_[N];
188 template< typename Type
201 template<
typename Type
204 template<
typename... Ts >
226 template<
typename Type
241 template<
typename Type
267 template<
typename Type
286 template<
typename Type
307 template<
typename Type
331 template<
typename Type
352 template<
typename Type
370 template<
typename Type
386 template<
typename Type
402 template<
typename Type
418 template<
typename Type
434 template<
typename Type
450 template<
typename Type
466 template<
typename Type
490 template<
typename Type
#define BLAZE_CONSTRAINT_MUST_NOT_BE_CONST(T)
Constraint on the data type.In case the given data type is a const-qualified type, a compilation error is created.
Definition: Const.h:79
Header file for the AlignmentOf type trait.
Header file for exception macros.
#define BLAZE_CONSTRAINT_MUST_NOT_BE_VOLATILE(T)
Constraint on the data type.In case the given data type is a volatile-qualified type, a compilation error is created.
Definition: Volatile.h:79
Type ElementType
Type of the array elements.
Definition: AlignedArray.h:101
const Type * ConstIterator
Iterator over constant elements.
Definition: AlignedArray.h:107
Iterator end() noexcept
Returns an iterator just past the last element of the aligned array.
Definition: AlignedArray.h:438
AlignedArray()
The default constructor for AlignedArray.
Definition: AlignedArray.h:191
constexpr ConstIterator cend() const noexcept
Returns an iterator just past the last element of the aligned array.
Definition: AlignedArray.h:470
Namespace of the Blaze C++ math library.
Definition: Blaze.h:57
constexpr size_t size() const noexcept
Returns the current size/dimension of the aligned array.
Definition: AlignedArray.h:493
#define BLAZE_THROW_OUT_OF_RANGE(MESSAGE)
Macro for the emission of a std::out_of_range exception.This macro encapsulates the default way of Bl...
Definition: Exception.h:331
const Type * ConstPointer
Pointer to a constant array element.
Definition: AlignedArray.h:103
Constraint on the data type.
Reference at(size_t index)
Checked access to the array elements.
Definition: AlignedArray.h:311
Type * Pointer
Pointer to a non-constant array element.
Definition: AlignedArray.h:102
Reference operator[](size_t index) noexcept
Subscript operator for the direct access to the array elements.
Definition: AlignedArray.h:271
const Type & ConstReference
Reference to a constant array element.
Definition: AlignedArray.h:105
Constraint on the data type.
Type & Reference
Reference to a non-constant array element.
Definition: AlignedArray.h:104
Iterator begin() noexcept
Returns an iterator to the first element of the aligned array.
Definition: AlignedArray.h:390
Pointer data() noexcept
Low-level data access to the array elements.
Definition: AlignedArray.h:356
Type * Iterator
Iterator over non-constant elements.
Definition: AlignedArray.h:106
constexpr ConstIterator cbegin() const noexcept
Returns an iterator to the first element of the aligned array.
Definition: AlignedArray.h:422
Implementation of a static array with a fixed alignment.The AlignedArray class template represents a ...
Definition: AlignedArray.h:97
#define BLAZE_STATIC_ASSERT(expr)
Compile time assertion macro.In case of an invalid compile time expression, a compilation error is cr...
Definition: StaticAssert.h:112