AsmGrader 0.0.0
Loading...
Searching...
No Matches
fmt_appender_adaptor.hpp
Go to the documentation of this file.
1
5#pragma once
6
7#include <fmt/base.h>
8
9#include <cstddef>
10#include <iterator>
11
12template <typename CharType = char>
13// NOLINTNEXTLINE(readability-identifier-naming) - rational: follow {fmt} conventions
15{
16 fmt::basic_appender<CharType> out;
17
18 using difference_type = std::ptrdiff_t;
19 using value_type = void;
20 using reference = void;
21 using pointer = void;
22 using iterator_category = std::output_iterator_tag;
23
24 fmt_appender_wrapper& operator*() { return *this; }
25
26 fmt_appender_wrapper& operator++() { return *this; }
27
28 fmt_appender_wrapper& operator++(int) { return *this; }
29
30 template <typename T>
32 out = value;
33 return *this;
34 }
35};
Definition fmt_appender_adaptor.hpp:15
void value_type
Definition fmt_appender_adaptor.hpp:19
std::ptrdiff_t difference_type
Definition fmt_appender_adaptor.hpp:18
void reference
Definition fmt_appender_adaptor.hpp:20
fmt_appender_wrapper & operator=(const T &value)
Definition fmt_appender_adaptor.hpp:31
fmt_appender_wrapper & operator*()
Definition fmt_appender_adaptor.hpp:24
fmt_appender_wrapper & operator++()
Definition fmt_appender_adaptor.hpp:26
void pointer
Definition fmt_appender_adaptor.hpp:21
std::output_iterator_tag iterator_category
Definition fmt_appender_adaptor.hpp:22
fmt::basic_appender< CharType > out
Definition fmt_appender_adaptor.hpp:16
fmt_appender_wrapper & operator++(int)
Definition fmt_appender_adaptor.hpp:28