tetengo 1.8.2
A multipurpose library set
Loading...
Searching...
No Matches
reader.h
Go to the documentation of this file.
1
7#if !defined(TETENGO_JSON_READER_H)
8#define TETENGO_JSON_READER_H
9
10#include <stdbool.h>
11#include <stddef.h>
12
13
14#if defined(__cplusplus)
15extern "C" {
16#endif
17
18#if !defined(DOCUMENTATION)
19typedef struct tetengo_json_reader_tag tetengo_json_reader_t;
20#endif
21
22
27{
29 const char* line;
30
33
35 size_t line_index;
36
39
40
42
49
58tetengo_json_reader_t* tetengo_json_reader_createStreamReader(const char* file_path, size_t buffer_capacity);
59
70tetengo_json_reader_t*
71tetengo_json_reader_createCommentRemovingReader(tetengo_json_reader_t* p_base_reader, const char* single_line_begin);
72
82tetengo_json_reader_t* tetengo_json_reader_createLineCountingReader(tetengo_json_reader_t* p_base_reader);
83
89void tetengo_json_reader_destroy(const tetengo_json_reader_t* p_reader);
90
103 const tetengo_json_reader_t* p_line_counting_reader,
104 tetengo_json_location_t* p_location);
105
114bool tetengo_json_reader_hasNext(const tetengo_json_reader_t* p_reader);
115
124char tetengo_json_reader_peek(const tetengo_json_reader_t* p_reader);
125
131void tetengo_json_reader_next(tetengo_json_reader_t* p_reader);
132
140const tetengo_json_reader_t* tetengo_json_reader_baseReader(const tetengo_json_reader_t* p_reader);
141
142
143#if defined(__cplusplus)
144}
145#endif
146
147
148#endif
size_t tetengo_json_reader_streamReaderDefaultBufferCapacity()
Returns the default buffer capacity of the stream reader.
bool tetengo_json_reader_hasNext(const tetengo_json_reader_t *p_reader)
Returns true when the next character exists.
void tetengo_json_reader_destroy(const tetengo_json_reader_t *p_reader)
Destroys a reader.
void tetengo_json_reader_next(tetengo_json_reader_t *p_reader)
Moves to the next character.
tetengo_json_reader_t * tetengo_json_reader_createStreamReader(const char *file_path, size_t buffer_capacity)
Creates a stream reader.
tetengo_json_reader_t * tetengo_json_reader_createLineCountingReader(tetengo_json_reader_t *p_base_reader)
Creates a line counting reader.
bool tetengo_json_reader_getLocation(const tetengo_json_reader_t *p_line_counting_reader, tetengo_json_location_t *p_location)
tetengo_json_reader_t * tetengo_json_reader_createCommentRemovingReader(tetengo_json_reader_t *p_base_reader, const char *single_line_begin)
Creates a comment removing reader.
struct tetengo_json_location_tag tetengo_json_location_t
A location.
const tetengo_json_reader_t * tetengo_json_reader_baseReader(const tetengo_json_reader_t *p_reader)
Returns the base reader.
char tetengo_json_reader_peek(const tetengo_json_reader_t *p_reader)
Returns the current character.
A location.
Definition reader.h:27
size_t column_index
Definition reader.h:38
size_t line_index
Definition reader.h:35
size_t line_length
Definition reader.h:32
const char * line
Definition reader.h:29