1#ifndef TATAMI_INDEX_TO_CONTAINER_HPP
2#define TATAMI_INDEX_TO_CONTAINER_HPP
8#include "sanisizer/sanisizer.hpp"
22template<
typename Left_,
typename Right_>
23bool safe_non_negative_equal(
const Left_ l,
const Right_ r) {
24 return l >= 0 && r >= 0 && sanisizer::is_equal(l, r);
30template<
typename Index_>
31auto attest_for_Index(Index_ x) {
32 return sanisizer::attest_gez(sanisizer::attest_max_by_type<std::size_t>(x));
48template<
typename Container_,
typename Index_>
50 sanisizer::can_cast<I<decltype(std::declval<Container_>().size())> >(attest_for_Index(x));
64template<
typename Container_,
typename Index_>
81template<
typename Container_,
typename Index_,
typename ... Args_>
83 return sanisizer::create<Container_>(attest_for_Index(x), std::forward<Args_>(args)...);
98template<
typename Container_,
typename Index_,
typename ... Args_>
Copy data from one buffer to another.
Flexible representations for matrix data.
Definition Extractor.hpp:15
Index_ can_cast_Index_to_container_size(const Index_ x)
Definition Index_to_container.hpp:49
void resize_container_to_Index_size(Container_ &container, const Index_ x, Args_ &&... args)
Definition Index_to_container.hpp:99
I< decltype(std::declval< Container_ >().size())> cast_Index_to_container_size(const Index_ x)
Definition Index_to_container.hpp:65
Container_ create_container_of_Index_size(const Index_ x, Args_ &&... args)
Definition Index_to_container.hpp:82