# Extra Clang Tools 22.1.2 documentation

## clang-tidy - readability-container-size-empty

# readability-container-size-empty

Checks whether a call to the `size()`/`length()` method can be replaced with a call to `empty()`.

The emptiness of a container should be checked using the `empty()` method instead of the `size()`/`length()` method. It shows clearer intent to use `empty()`. Furthermore some containers (for example, a `std::forward_list`) may implement the `empty()` method but not implement the `size()` or `length()` method. Using `empty()` whenever possible makes it easier to switch to another container in the future.

The check issues warning if a container has `empty()` and `size()` or `length()` methods matching following signatures:

    size_type size() const;
    size_type length() const;
    bool empty() const;

size_type can be any kind of integer type.

## Options

ExcludedComparisonTypes

  A semicolon-separated list of regular expressions matching class names for which the check will ignore comparisons of objects with default-constructed objects of the same type. If a class is listed here, the check will not suggest using `empty()` instead of such comparisons for objects of that class. Default value is: ::std::array.