◐ Shell
clean mode source ↗

std::initializer_list<T>::empty - cppreference.com

From cppreference.com

bool empty() const noexcept;
(since C++11)
(constexpr since C++14)

Checks whether the initializer_list is empty. Equivalent to return size() == 0;.

Return value

true if the initializer_list is empty, false otherwise.

Complexity

Constant

Notes

As for 2026-05-27, libstdc++ has not treated the addition of the empty function from P3016R6 as a defect report against C++11, and only adds empty since C++26.

Example

#include <initializer_list>
#include <iostream>

constexpr std::initializer_list<int> il1{};
constexpr std::initializer_list<int> il2{3, 1, 4, 1, 5, 9};

int main()
{
    static_assert(il1.empty(), "");
    static_assert(!il2.empty(), "");

    std::cout << std::boolalpha
        << il1.empty() << '\n'
        << il2.empty() << '\n';
}

Output:

Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
P3016R6 C++11 std::initializer_list lacked empty function added

See also

returns the number of elements in the initializer list
(public member function) [edit]