basedOpinionated utility library |
git clone git://git.dimitrijedobrota.com/based.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING |
literal.hpp (444B)
0 #pragma once
2 #include <array>
3 #include <cstddef>
5 namespace based
6 {
8 template<size_t n>
9 struct string_literal
10 {
11 // NOLINTNEXTLINE(*explicit*, *array*)
12 constexpr string_literal(const char (&str)[n])
13 : m_value(std::to_array(str))
14 {
15 }
17 [[nodiscard]] constexpr size_t size() const { return n; }
18 [[nodiscard]] constexpr const char* data() const { return m_value.data(); }
20 std::array<char, n> m_value;
21 };
23 } // namespace based