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);
using s_t = decltype("abc"_cs);
return 0;
}