7#if !defined(TETENGO_JSON_READER_H)
8#define TETENGO_JSON_READER_H
14#if defined(__cplusplus)
18#if !defined(DOCUMENTATION)
19typedef struct tetengo_json_reader_tag tetengo_json_reader_t;
103 const tetengo_json_reader_t* p_line_counting_reader,
143#if defined(__cplusplus)
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