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