35 #ifndef _BLAZE_MATH_VIEWS_ROWS_ROWSDATA_H_ 36 #define _BLAZE_MATH_VIEWS_ROWS_ROWSDATA_H_ 67 template<
size_t... CRAs >
72 using Indices = std::array<size_t,
sizeof...(CRAs)>;
78 template<
typename... RRAs >
79 explicit inline RowsData( RRAs... args ) noexcept;
89 RowsData& operator=(
const RowsData& ) =
delete;
95 inline static constexpr
const Indices& idces() noexcept;
96 inline static constexpr
size_t idx (
size_t i ) noexcept;
97 inline static constexpr
size_t rows () noexcept;
105 static constexpr Indices indices_{ { CRAs... } };
116 template<
size_t... CRAs >
117 constexpr
typename RowsData<CRAs...>::Indices RowsData<CRAs...>::indices_;
128 template<
size_t... CRAs >
129 template<
typename... RRAs >
130 inline RowsData<CRAs...>::RowsData( RRAs... args ) noexcept
144 template<
size_t... CRAs >
145 inline constexpr
const typename RowsData<CRAs...>::Indices& RowsData<CRAs...>::idces() noexcept
160 template<
size_t... CRAs >
161 inline constexpr
size_t RowsData<CRAs...>::idx(
size_t i ) noexcept
176 template<
size_t... CRAs >
179 return sizeof...( CRAs );
206 using Indices = SmallVector<size_t,8UL>;
212 template<
typename T,
typename... RRAs >
213 explicit inline RowsData(
const T* indices,
size_t n, RRAs... args );
215 inline RowsData(
const RowsData& ) =
default;
216 inline RowsData( RowsData&& ) =
default;
225 RowsData& operator=(
const RowsData& ) =
delete;
231 inline const Indices& idces() const noexcept;
232 inline
size_t idx (
size_t i ) const noexcept;
233 inline
size_t rows () const noexcept;
259 inline RowsData<>::RowsData( const T* indices,
size_t n, RRAs... args )
260 : indices_( indices, indices+n )
274 inline const RowsData<>::Indices& RowsData<>::idces() const noexcept
291 inline size_t RowsData<>::idx(
size_t i )
const noexcept
308 return indices_.size();
#define BLAZE_USER_ASSERT(expr, msg)
Run time assertion macro for user checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_USER_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERT flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:117
Header file for the UNUSED_PARAMETER function template.
Header file for basic type definitions.
Namespace of the Blaze C++ math library.
Definition: Blaze.h:58
Header file for run time assertion macros.
BLAZE_ALWAYS_INLINE size_t rows(const Matrix< MT, SO > &matrix) noexcept
Returns the current number of rows of the matrix.
Definition: Matrix.h:490
Header file for the SmallVector implementation.
void UNUSED_PARAMETER(const Args &...)
Suppression of unused parameter warnings.
Definition: Unused.h:81