C++11: custom variadic template literals: ЧЯДНТ?
От: alexanderfedin США http://alexander-fedin.pixels.com/
Дата: 09.12.19 18:50
Оценка:
Код выглядит так:
template <typename T, T... chars>
struct c_str
{
    constexpr c_str() noexcept {}
};

template <char... chars>
constexpr const c_str<char, chars...> operator "" _cs() noexcept
{
    return c_str<char, chars...>();
}

template <char... chars>
constexpr double operator "" _dbl() noexcept
{
    return 0.0;
}

int main()
{
    using d_t = decltype("2.7"_dbl);//error: no matching function for call to ‘operator""_dbl()’
    using s_t = decltype("abc"_cs);error: no matching function for call to ‘operator""_cs()’
    return 0;
}
Respectfully,
Alexander Fedin.
Re: C++11: custom variadic template literals: ЧЯДНТ?
От: Constructor  
Дата: 09.12.19 21:06
Оценка:
Здравствуйте, alexanderfedin, Вы писали:

Этот тип user-defined literals не зря называют numeric.
Re: C++11: custom variadic template literals: ЧЯДНТ?
От: niXman Ниоткуда https://github.com/niXman
Дата: 09.12.19 22:12
Оценка:
смотри:
https://github.com/niXman/csprot/blob/master/csprot.hpp#L169
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[2]: C++11: custom variadic template literals: ЧЯДНТ?
От: alexanderfedin США http://alexander-fedin.pixels.com/
Дата: 10.12.19 01:05
Оценка:
Здравствуйте, niXman, Вы писали:

X>смотри:

X>https://github.com/niXman/csprot/blob/master/csprot.hpp#L169
К сожалению, мне надо C++11
Respectfully,
Alexander Fedin.
Re[3]: C++11: custom variadic template literals: ЧЯДНТ?
От: niXman Ниоткуда https://github.com/niXman
Дата: 10.12.19 07:47
Оценка: 6 (1) +1
Здравствуйте, alexanderfedin, Вы писали:

A>К сожалению, мне надо C++11


тогда только макрос+sizeof("string")+make_index_sequence+variadics
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[4]: C++11: custom variadic template literals: ЧЯДНТ?
От: alexanderfedin США http://alexander-fedin.pixels.com/
Дата: 12.12.19 07:05
Оценка:
Здравствуйте, niXman, Вы писали:
A>>К сожалению, мне надо C++11
X>тогда только макрос+sizeof("string")+make_index_sequence+variadics
А можно меня ткнуть носом в какую-нибудь имплементацию?
Только без буста, а то я заколебаюсь там файлы к себе копировать и расставлять атрибуты __host__ __device__...

P.S. Да, в идеале было бы хорошо, чтобы такие классы поддерживали возврат строки для целей дебага.
Respectfully,
Alexander Fedin.
Re[5]: C++11: custom variadic template literals: ЧЯДНТ?
От: niXman Ниоткуда https://github.com/niXman
Дата: 12.12.19 13:22
Оценка:
код не мой:
https://wandbox.org/permlink/WXfd9yVtMBRJEgla
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Re[6]: C++11: custom variadic template literals: ЧЯДНТ?
От: alexanderfedin США http://alexander-fedin.pixels.com/
Дата: 24.12.19 18:48
Оценка:
Здравствуйте, niXman, Вы писали:

X>код не мой:

X>https://wandbox.org/permlink/WXfd9yVtMBRJEgla
Спасибо, но не пойдет, к сожалению.
Типы литералов зависят от длины строки, а не от ее содержимого.
Посмотрю, смогу ли допилить эту магию.
Respectfully,
Alexander Fedin.
Отредактировано 25.12.2019 0:53 alexanderfedin . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.