• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //     __ _____ _____ _____
2 //  __|  |   __|     |   | |  JSON for Modern C++
3 // |  |  |__   |  |  | | | |  version 3.11.2
4 // |_____|_____|_____|_|___|  https://github.com/nlohmann/json
5 //
6 // SPDX-FileCopyrightText: 2013-2022 Niels Lohmann <https://nlohmann.me>
7 // SPDX-License-Identifier: MIT
8 
9 #pragma once
10 
11 #include <cstddef> // size_t
12 
13 #include <nlohmann/detail/abi_macros.hpp>
14 
15 NLOHMANN_JSON_NAMESPACE_BEGIN
16 namespace detail
17 {
18 
19 /// struct to capture the start position of the current token
20 struct position_t
21 {
22     /// the total number of characters read
23     std::size_t chars_read_total = 0;
24     /// the number of characters read in the current line
25     std::size_t chars_read_current_line = 0;
26     /// the number of lines read
27     std::size_t lines_read = 0;
28 
29     /// conversion to size_t to preserve SAX interface
operator size_tdetail::position_t30     constexpr operator size_t() const
31     {
32         return chars_read_total;
33     }
34 };
35 
36 }  // namespace detail
37 NLOHMANN_JSON_NAMESPACE_END
38