template<class Storage, typename T, std::size_t KeyCoordinateCount, std::size_t DenseBlockOrder>
requires(typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>& storage,
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder> const& const_storage,
std::array<std::size_t, DenseBlockOrder> const& extents) {
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::mutable_block_type;
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::const_block_type;
{ const_storage.size() } -> std::same_as<std::size_t>;
{ const_storage.keys() } -> std::same_as<std::span<BlockKey<KeyCoordinateCount> const>>;
{
storage.block(std::size_t{}, extents)
}
-> std::same_as<typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::mutable_block_type>;
{
const_storage.block(std::size_t{}, extents)
} -> std::same_as<typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::const_block_type>;
} &&
MutableRankedTensorView<
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::mutable_block_type,
DenseBlockOrder> &&
RankedTensorView<typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::const_block_type,
DenseBlockOrder> &&
typename Storage::template storage_t<T, KeyCoordinateCount, DenseBlockOrder>::mutable_block_type>,
T> &&
std::same_as<
typename tensor_mdspec_t<
typename Storage::template storage_t<
T, KeyCoordinateCount, DenseBlockOrder>::const_block_type>::element_type,
T const>
Storage policy instantiated for one block scalar and tensor order.
Definition block_tensor_storage.hpp:81
Storage policy for a BlockTensor container.
Definition block_tensor_storage.hpp:46
std::remove_cv_t< typename tensor_mdspec_t< T >::element_type > tensor_element_t
Scalar value type exposed by a tensor-level object.
Definition tensor/concepts.hpp:126
std::remove_cvref_t< detail::normalized_const_mdspec_t< T > > tensor_mdspec_t
Normalized readable MdspecLike type exposed by a tensor-level object.
Definition tensor/concepts.hpp:123
Storage policy instantiated for one block scalar and tensor order.
- Template Parameters
-
| Storage | Candidate block storage policy. |
| T | Numerical block element type. |
| KeyCoordinateCount | Number of stored block-selection coordinates. |
| DenseBlockOrder | Number of numerical axes in each dense block. |