blob: b664c32b97c288bcda7725befe921d461d6fbecd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#pragma once
#include "vector-wrapper-fwd.hpp"
#include <vector>
namespace floormat {
template<typename T, vector_wrapper_repr> struct vector_wrapper_traits;
template<typename T> struct vector_wrapper_traits<T, vector_wrapper_repr::ref> { using vector_type = std::vector<T>&; };
template<typename T> struct vector_wrapper_traits<T, vector_wrapper_repr::const_ref> { using vector_type = const std::vector<T>&; };
template<typename T> struct vector_wrapper_traits<T, vector_wrapper_repr::value> { using vector_type = std::vector<T>; };
template<typename T, vector_wrapper_repr R>
struct vector_wrapper final
{
typename vector_wrapper_traits<T, R>::vector_type vec;
};
} // namespace floormat
|