1#ifndef TATAMI_INDEX_TO_CONTAINER_HPP
2#define TATAMI_INDEX_TO_CONTAINER_HPP
8#include "sanisizer/sanisizer.hpp"
17template<
typename Left_,
typename Right_>
18bool safe_non_negative_equal(
const Left_ l,
const Right_ r) {
19 return l >= 0 && r >= 0 && sanisizer::is_equal(l, r);
35template<
typename Container_,
typename Index_>
40 typedef typename std::conditional<std::numeric_limits<std::size_t>::max() < std::numeric_limits<Index_>::max(), std::size_t, Index_>::type Intermediate;
41 sanisizer::can_cast<I<decltype(std::declval<Container_>().size())> >(
static_cast<Intermediate
>(x));
55template<
typename Container_,
typename Index_>
72template<
typename Container_,
typename Index_,
typename ... Args_>
75 typedef typename std::conditional<std::numeric_limits<std::size_t>::max() < std::numeric_limits<Index_>::max(), std::size_t, Index_>::type Intermediate;
76 return sanisizer::create<Container_>(
static_cast<Intermediate
>(x), std::forward<Args_>(args)...);
91template<
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:36
void resize_container_to_Index_size(Container_ &container, const Index_ x, Args_ &&... args)
Definition Index_to_container.hpp:92
I< decltype(std::declval< Container_ >().size())> cast_Index_to_container_size(const Index_ x)
Definition Index_to_container.hpp:56
Container_ create_container_of_Index_size(const Index_ x, Args_ &&... args)
Definition Index_to_container.hpp:73