TRIQS/nda 1.3.0
Multi-dimensional array library for C++
Loading...
Searching...
No Matches
nda::ArrayInitializer Concept Reference

#include <nda/concepts.hpp>

Detailed Description

Check if a given type satisfies the array initializer concept for a given nda::MemoryArray type.

They are mostly used in lazy mpi calls (see e.g. nda::mpi_reduce).

Template Parameters
AType to check.
Bnda::MemoryArray type.

Definition at line 325 of file concepts.hpp.

Concept definition

template<typename A, typename B>
concept nda::ArrayInitializer = requires(A const &a) {
{ a.shape() } -> StdArrayOfLong;
typename std::remove_cvref_t<A>::value_type;
requires MemoryArray<B> && requires(B &b) { a.invoke(b); };
}
Check if a given type satisfies the array initializer concept for a given nda::MemoryArray type.
Definition concepts.hpp:325
Check if a given type satisfies the memory array concept.
Definition concepts.hpp:248
Check if a given type is of type std::array<long, R> for some arbitrary R.
Definition concepts.hpp:112