template <typename T, size_t N>
class ConstVector
Defined at line 65 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/const-string.h
ConstVector
<T
, N> is used only to define constexpr variables. It can
only be constructed one way, and cannot be default-constructed, copied, or
moved. The constructor argument is a captureless constexpr lambda of no
arguments that returns some standard container with value_type = T and
size() == N. The deduction guide handles the template parameters as long as
it returns something container-like. Once constructed, it acts like a
std::span
<const
T, N> that points to a constexpr std::array
<T
, N>. The
actual storage is only unique for the sequence of values, even if multiple
different lambda arguments produce the same sequence.
Public Methods
void ConstVector<T, N> ()
Defined at line 67 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/const-string.h
void ConstVector<T, N> (const ConstVector<T, N> & )
Defined at line 68 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/const-string.h
void ConstVector<T, N> (ConstVector<T, N> && )
Defined at line 69 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/const-string.h
template <class Maker>
void ConstVector<T, N> (Maker )
The argument is a captureless consteval lambda returning std::vector
<T
>.
The actual argument isn't used, since it's not a constant expression.
It's just used to deduce the type so constexpr instances can be called.
Defined at line 75 of file ../../src/lib/elfldltl/include/lib/elfldltl/internal/const-string.h