1#ifndef TATOOINE_CONCAT_STRING_VIEW_H
2#define TATOOINE_CONCAT_STRING_VIEW_H
9template <
const char... cs>
11 static constexpr const char c_str[] = {cs...,
'\0'};
15template <
const char... cs>
18template <std::string_view
const& S0, std::string_view
const& S1,
19 std::size_t... I0s, std::size_t... I1s>
20constexpr std::string_view
const&
concat(std::index_sequence<I0s...>,
21 std::index_sequence<I1s...>) {
25template <std::
string_view const& S>
26constexpr std::string_view
const&
concat() {
30template <std::
string_view const& S0, std::
string_view const& S1>
31constexpr std::string_view
const&
concat() {
32 return concat<S0, S1>(std::make_index_sequence<
size(S0)>{},
33 std::make_index_sequence<
size(S1)>{});
36template <std::string_view
const& S0, std::string_view
const& S1,
37 std::string_view
const& S2, std::string_view
const&... Ss>
38constexpr std::string_view
const&
concat() {
Definition: algorithm.h:6
static constexpr std::string_view c_str_assembler_v
Definition: concat_string_view.h:16
auto size(vec< ValueType, N > const &v)
Definition: vec.h:148
constexpr std::string_view const & concat()
Definition: concat_string_view.h:26
Definition: concat_string_view.h:10
static constexpr const char c_str[]
Definition: concat_string_view.h:11
static constexpr std::string_view value
Definition: concat_string_view.h:12