tetengo 1.8.2
A multipurpose library set
Loading...
Searching...
No Matches
line_counting_reader.hpp
Go to the documentation of this file.
1
7#if !defined(TETENGO_JSON_LINECOUNTINGREADER_HPP)
8#define TETENGO_JSON_LINECOUNTINGREADER_HPP
9
10#include <memory>
11
13
14
15namespace tetengo::json
16{
17 class file_location;
18
19
24 {
25 public:
26 // constructors and destructor
27
35 explicit line_counting_reader(std::unique_ptr<reader>&& p_base_reader);
36
41
42
43 // functions
44
52 [[nodiscard]] const file_location& get_location() const;
53
54
55 private:
56 // types
57
58 class impl;
59
60
61 // variables
62
63 const std::unique_ptr<impl> m_p_impl;
64
65
66 // virtual functions
67
68 virtual bool has_next_impl() const override;
69
70 virtual char peek_impl() const override;
71
72 virtual void next_impl() override;
73
74 virtual const reader& base_reader_impl() const override;
75 };
76
77
78}
79
80
81#endif
A file location.
Definition file_location.hpp:22
A line counting reader.
Definition line_counting_reader.hpp:24
line_counting_reader(std::unique_ptr< reader > &&p_base_reader)
Creates a line counting reader.
virtual ~line_counting_reader()
Destroys the line counting reader.
const file_location & get_location() const
A reader.
Definition reader.hpp:19
A JSON library.
A reader.