Namespaces
Variants
Views
Actions

std::formatter<std::stack>

From cppreference.com
< cpp‎ | container‎ | stack
 
 
 
 
Defined in header <stack>
template< class CharT, class T, std::formattable<CharT> Container, class... U >
struct formatter<std::stack<T, Container, U...>, CharT>;
(since C++23)

The template specialization of std::formatter for the container adaptor type std::stack allows users to convert the underlying container to its textual representation as a collection of elements using formatting functions.

The specialization is enabled if std::formattable<Container, CharT> is true.

Contents

[edit] Member types

Member type Definition
maybe-const-container (private) fmt-maybe-const <Container, CharT>
(exposition-only member type*)
maybe-const-adaptor (private) maybe-const <
    std::is_const_v<maybe-const-container>,
    std::stack<T, Container, U...>>

(exposition-only member type*)

[edit] Data members

Member name Definition
underlying_ (private) underlying formatter of type std::formatter<ranges::ref_view<maybe-const-container>, CharT>
(exposition-only member object*)

[edit] Member functions

parse
parses the format specifier as specified by range-format-spec
(public member function)
format
writes the range formatted output as specified by range-format-spec
(public member function)

std::formatter<std::stack>::parse

template< class ParseContext >
constexpr auto parse( ParseContext& ctx ) -> ParseContext::iterator;

Equivalent to return underlying_.parse(ctx);.

Returns an iterator past the end of the range-format-spec of the underlying container.

std::formatter<std::stack>::format

template< class FormatContext >

auto format( /*maybe-const-adaptor*/& r, FormatContext& ctx ) const

    -> FormatContext::iterator;

Equivalent to return underlying_.format(r.c, ctx);.

Returns an iterator past the end of the output range.

[edit] Example

[edit] See also

(C++20)
defines formatting rules for a given type
(class template) [edit]
class template that helps implementing std::formatter specializations for range types
(class template) [edit]