[vector.bool.fmt]

# 23 Containers library [[containers]](./#containers)

## 23.3 Sequence containers [[sequences]](sequences#vector.bool.fmt)

### 23.3.14 Specialization of vector for bool [[vector.bool]](vector.bool#fmt)

#### 23.3.14.2 Formatter specialization for vector<bool> [vector.bool.fmt]

[ð](#lib:formatter)

namespace std {template<class T, class charT>requires *is-vector-bool-reference*<T>struct formatter<T, charT> {private: formatter<bool, charT> *underlying_*; // *exposition only*public:template<class ParseContext>constexpr typename ParseContext::iterator
 parse(ParseContext& ctx); template<class FormatContext>typename FormatContext::iterator
 format(const T& ref, FormatContext& ctx) const; };}

[ð](#lib:parse,formatter)

`template<class ParseContext>
  constexpr typename ParseContext::iterator
    parse(ParseContext& ctx);
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L10671)

Equivalent to: return *underlying_*.parse(ctx);

[ð](#lib:format,formatter)

`template<class FormatContext>
  typename FormatContext::iterator
    format(const T& ref, FormatContext& ctx) const;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/containers.tex#L10683)

Equivalent to: return *underlying_*.format(ref, ctx);
