Libcroco
Data Structures | Typedefs | Functions
cr-input.h File Reference

The libcroco basic input stream class declaration file. More...

#include <glib.h>
#include "cr-utils.h"
#include "cr-parsing-location.h"

Go to the source code of this file.

Data Structures

struct  _CRInput
 The CRInput class provides the abstraction of an utf8-encoded character stream. More...
 
struct  _CRInputPos
 

Typedefs

typedef struct _CRInput CRInput
 
typedef struct _CRInputPriv CRInputPriv
 
typedef struct _CRInputPos CRInputPos
 

Functions

CRInputcr_input_new_from_buf (guchar *a_buf, gulong a_len, enum CREncoding a_enc, gboolean a_free_buf)
 cr_input_new_from_buf: @a_buf: the memory buffer to create the input stream from. More...
 
CRInputcr_input_new_from_uri (const gchar *a_file_uri, enum CREncoding a_enc)
 cr_input_new_from_uri: @a_file_uri: the file to create *the input stream from. More...
 
void cr_input_destroy (CRInput *a_this)
 cr_input_destroy: @a_this: the current instance of CRInput. More...
 
void cr_input_ref (CRInput *a_this)
 cr_input_ref: @a_this: the current instance of CRInput. More...
 
gboolean cr_input_unref (CRInput *a_this)
 cr_input_unref: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_read_byte (CRInput *a_this, guchar *a_byte)
 cr_input_read_byte: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_read_char (CRInput *a_this, guint32 *a_char)
 cr_input_read_char: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_consume_chars (CRInput *a_this, guint32 a_char, gulong *a_nb_char)
 cr_input_consume_chars: @a_this: the this pointer of the current instance of CRInput. More...
 
enum CRStatus cr_input_consume_char (CRInput *a_this, guint32 a_char)
 cr_input_consume_char: @a_this: the this pointer. More...
 
enum CRStatus cr_input_consume_white_spaces (CRInput *a_this, gulong *a_nb_chars)
 cr_input_consume_white_spaces: @a_this: the "this pointer" of the current instance of CRInput. More...
 
enum CRStatus cr_input_peek_byte (CRInput const *a_this, enum CRSeekPos a_origin, gulong a_offset, guchar *a_byte)
 cr_input_peek_byte: @a_this: the current instance of CRInput. More...
 
guchar cr_input_peek_byte2 (CRInput const *a_this, gulong a_offset, gboolean *a_eof)
 cr_input_peek_byte2: @a_this: the current byte input stream. More...
 
enum CRStatus cr_input_peek_char (CRInput const *a_this, guint32 *a_char)
 cr_input_peek_char: @a_this: the current instance of CRInput. More...
 
guchar * cr_input_get_byte_addr (CRInput *a_this, gulong a_offset)
 cr_input_get_byte_addr: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_get_cur_byte_addr (CRInput *a_this, guchar **a_offset)
 cr_input_get_cur_byte_addr: @a_this: the current input stream @a_offset: out parameter. More...
 
enum CRStatus cr_input_seek_index (CRInput *a_this, enum CRSeekPos a_origin, gint a_pos)
 cr_input_seek_index: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_get_cur_index (CRInput const *a_this, glong *a_index)
 cr_input_get_cur_index: @a_this: the "this pointer" of the current instance of CRInput @a_index: out parameter. More...
 
enum CRStatus cr_input_set_cur_index (CRInput *a_this, glong a_index)
 cr_input_set_cur_index: @a_this: the "this pointer" of the current instance of CRInput . More...
 
enum CRStatus cr_input_get_cur_pos (CRInput const *a_this, CRInputPos *a_pos)
 cr_input_get_cur_pos: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_set_cur_pos (CRInput *a_this, CRInputPos const *a_pos)
 cr_input_set_cur_pos: @a_this: the "this pointer" of the current instance of CRInput. More...
 
enum CRStatus cr_input_get_parsing_location (CRInput const *a_this, CRParsingLocation *a_loc)
 cr_input_get_parsing_location: @a_this: the current instance of CRInput @a_loc: the set parsing location. More...
 
enum CRStatus cr_input_get_end_of_line (CRInput const *a_this, gboolean *a_eol)
 cr_input_get_end_of_line: @a_this: the current instance of CRInput @a_eol: out parameter. More...
 
enum CRStatus cr_input_set_end_of_line (CRInput *a_this, gboolean a_eol)
 cr_input_set_end_of_line: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_get_end_of_file (CRInput const *a_this, gboolean *a_eof)
 cr_input_get_end_of_file: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_set_end_of_file (CRInput *a_this, gboolean a_eof)
 cr_input_set_end_of_file: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_set_line_num (CRInput *a_this, glong a_line_num)
 cr_input_set_line_num: @a_this: the "this pointer" of the current instance of CRInput. More...
 
enum CRStatus cr_input_get_line_num (CRInput const *a_this, glong *a_line_num)
 cr_input_get_line_num: @a_this: the "this pointer" of the current instance of CRInput. More...
 
enum CRStatus cr_input_set_column_num (CRInput *a_this, glong a_col)
 cr_input_set_column_num: @a_this: the "this pointer" of the current instance of CRInput. More...
 
enum CRStatus cr_input_get_column_num (CRInput const *a_this, glong *a_col)
 cr_input_get_column_num: @a_this: the "this pointer" of the current instance of CRInput. More...
 
enum CRStatus cr_input_increment_line_num (CRInput *a_this, glong a_increment)
 cr_input_increment_line_num: @a_this: the "this pointer" of the current instance of CRInput. More...
 
enum CRStatus cr_input_increment_col_num (CRInput *a_this, glong a_increment)
 cr_input_increment_col_num: @a_this: the "this pointer" of the current instance of CRInput. More...
 
glong cr_input_get_nb_bytes_left (CRInput const *a_this)
 cr_input_get_nb_bytes_left: @a_this: the current instance of CRInput. More...
 
enum CRStatus cr_input_end_of_input (CRInput const *a_this, gboolean *a_end_of_input)
 cr_input_end_of_input: @a_this: the current instance of CRInput. More...
 

Detailed Description

The libcroco basic input stream class declaration file.

Definition in file cr-input.h.

Typedef Documentation

◆ CRInput

typedef struct _CRInput CRInput

Definition at line 40 of file cr-input.h.

◆ CRInputPos

typedef struct _CRInputPos CRInputPos

Definition at line 52 of file cr-input.h.

◆ CRInputPriv

typedef struct _CRInputPriv CRInputPriv

Definition at line 41 of file cr-input.h.

Function Documentation

◆ cr_input_consume_char()

enum CRStatus cr_input_consume_char ( CRInput a_this,
guint32  a_char 
)

cr_input_consume_char: @a_this: the this pointer.

@a_char: the character to consume. If set to zero, consumes any character.

Consumes the next character of the input stream if and only if that character equals a_char.

Returns CR_OK upon successful completion, CR_PARSING_ERROR if next char is different from a_char, an other error code otherwise

Definition at line 622 of file cr-input.c.

References CR_BAD_PARAM_ERROR, cr_input_peek_char(), cr_input_read_char(), CR_OK, CR_PARSING_ERROR, and PRIVATE.

Referenced by cr_input_consume_chars().

◆ cr_input_consume_chars()

enum CRStatus cr_input_consume_chars ( CRInput a_this,
guint32  a_char,
gulong *  a_nb_char 
)

cr_input_consume_chars: @a_this: the this pointer of the current instance of CRInput.

@a_char: the character to consume. @a_nb_char: in/out parameter. The number of characters to consume. If set to a negative value, the function will consume all the occurences of a_char found. After return, if the return value equals CR_OK, this variable contains the number of characters actually consumed.

Consumes up to a_nb_char occurences of the next contiguous characters which equal a_char. Note that the next character of the input stream MUST* equal a_char to trigger the consumption, or else, the error code CR_PARSING_ERROR is returned. If the number of contiguous characters that equals a_char is less than a_nb_char, then this function consumes all the characters it can consume.

Returns CR_OK if at least one character has been consumed, an error code otherwise.

Definition at line 663 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_consume_char(), CR_OK, CR_PARSING_ERROR, and PRIVATE.

Referenced by cr_tknzr_consume_chars().

◆ cr_input_consume_white_spaces()

enum CRStatus cr_input_consume_white_spaces ( CRInput a_this,
gulong *  a_nb_chars 
)

cr_input_consume_white_spaces: @a_this: the "this pointer" of the current instance of CRInput.

@a_nb_chars: in/out parameter. The number of white spaces to consume. After return, holds the number of white spaces actually consumed.

Same as cr_input_consume_chars() but this one consumes white spaces.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 704 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_peek_char(), cr_input_read_char(), CR_OK, cr_utils_is_white_space(), and PRIVATE.

◆ cr_input_destroy()

void cr_input_destroy ( CRInput a_this)

cr_input_destroy: @a_this: the current instance of CRInput.

The destructor of the CRInput class.

Definition at line 283 of file cr-input.c.

References PRIVATE.

Referenced by cr_input_unref(), and cr_parser_new_from_buf().

◆ cr_input_end_of_input()

enum CRStatus cr_input_end_of_input ( CRInput const *  a_this,
gboolean *  a_end_of_input 
)

cr_input_end_of_input: @a_this: the current instance of CRInput.

@a_end_of_input: out parameter. Is set to TRUE if the current instance has reached the end of its input buffer, FALSE otherwise.

Tests wether the current instance of CRInput has reached its input buffer.

Returns CR_OK upon successful completion, an error code otherwise. Note that all the out parameters of this method are valid if and only if this method returns CR_OK.

Definition at line 357 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

◆ cr_input_get_byte_addr()

guchar* cr_input_get_byte_addr ( CRInput a_this,
gulong  a_offset 
)

cr_input_get_byte_addr: @a_this: the current instance of CRInput.

@a_offset: the offset of the byte in the input stream starting from the beginning of the stream.

Gets the memory address of the byte located at a given offset in the input stream.

Returns the address, otherwise NULL if an error occurred.

Definition at line 887 of file cr-input.c.

References PRIVATE.

Referenced by cr_input_get_cur_byte_addr().

◆ cr_input_get_column_num()

enum CRStatus cr_input_get_column_num ( CRInput const *  a_this,
glong *  a_col 
)

cr_input_get_column_num: @a_this: the "this pointer" of the current instance of CRInput.

@a_col: out parameter

Getter of the current column number.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 561 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

◆ cr_input_get_cur_byte_addr()

enum CRStatus cr_input_get_cur_byte_addr ( CRInput a_this,
guchar **  a_offset 
)

cr_input_get_cur_byte_addr: @a_this: the current input stream @a_offset: out parameter.

The returned address.

Gets the address of the current character pointer.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 908 of file cr-input.c.

References CR_BAD_PARAM_ERROR, cr_input_get_byte_addr(), CR_OK, CR_START_OF_INPUT_ERROR, and PRIVATE.

Referenced by cr_tknzr_get_cur_byte_addr().

◆ cr_input_get_cur_index()

enum CRStatus cr_input_get_cur_index ( CRInput const *  a_this,
glong *  a_index 
)

cr_input_get_cur_index: @a_this: the "this pointer" of the current instance of CRInput @a_index: out parameter.

The returned index.

Getter of the next byte index. It actually returns the index of the next byte to be read.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1055 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

◆ cr_input_get_cur_pos()

enum CRStatus cr_input_get_cur_pos ( CRInput const *  a_this,
CRInputPos a_pos 
)

cr_input_get_cur_pos: @a_this: the current instance of CRInput.

@a_pos: out parameter. The returned position.

Gets the position of the "current byte index" which is basically the position of the last returned byte in the input stream.

Returns CR_OK upon successful completion. Otherwise, CR_BAD_PARAMETER_ERROR if at least one of the arguments is invalid. CR_START_OF_INPUT if no call to either cr_input_read_byte() or cr_input_seek_index() have been issued before calling cr_input_get_cur_pos() Note that the out parameters of this function are valid if and only if this function returns CR_OK.

Definition at line 995 of file cr-input.c.

References _CRInputPos::col, CR_BAD_PARAM_ERROR, CR_OK, _CRInputPos::end_of_file, _CRInputPos::end_of_line, _CRInputPos::line, _CRInputPos::next_byte_index, and PRIVATE.

Referenced by cr_tknzr_get_cur_pos().

◆ cr_input_get_end_of_file()

enum CRStatus cr_input_get_end_of_file ( CRInput const *  a_this,
gboolean *  a_eof 
)

cr_input_get_end_of_file: @a_this: the current instance of CRInput.

@a_eof: out parameter the place to put the end of file flag.

Gets the end of file flag.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1116 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

Referenced by cr_tknzr_get_next_token().

◆ cr_input_get_end_of_line()

enum CRStatus cr_input_get_end_of_line ( CRInput const *  a_this,
gboolean *  a_eol 
)

cr_input_get_end_of_line: @a_this: the current instance of CRInput @a_eol: out parameter.

The place to put the returned flag

Gets the end of line flag of the current input.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1158 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

◆ cr_input_get_line_num()

enum CRStatus cr_input_get_line_num ( CRInput const *  a_this,
glong *  a_line_num 
)

cr_input_get_line_num: @a_this: the "this pointer" of the current instance of CRInput.

@a_line_num: the returned line number.

Getter of the current line number.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 522 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

◆ cr_input_get_nb_bytes_left()

glong cr_input_get_nb_bytes_left ( CRInput const *  a_this)

cr_input_get_nb_bytes_left: @a_this: the current instance of CRInput.

Returns the number of bytes left in the input stream before the end, -1 in case of error.

Definition at line 376 of file cr-input.c.

References PRIVATE.

Referenced by cr_input_peek_char(), cr_input_read_byte(), cr_input_read_char(), and cr_tknzr_get_nb_bytes_left().

◆ cr_input_get_parsing_location()

enum CRStatus cr_input_get_parsing_location ( CRInput const *  a_this,
CRParsingLocation a_loc 
)

cr_input_get_parsing_location: @a_this: the current instance of CRInput @a_loc: the set parsing location.

Gets the current parsing location. The Parsing location is a public datastructure that represents the current line/column/byte offset/ in the input stream.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1023 of file cr-input.c.

References _CRParsingLocation::byte_offset, _CRParsingLocation::column, CR_BAD_PARAM_ERROR, CR_OK, _CRParsingLocation::line, and PRIVATE.

Referenced by cr_tknzr_get_parsing_location().

◆ cr_input_increment_col_num()

enum CRStatus cr_input_increment_col_num ( CRInput a_this,
glong  a_increment 
)

cr_input_increment_col_num: @a_this: the "this pointer" of the current instance of CRInput.

@a_increment: the increment to add to the column number.

Increments the current column number.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 600 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

◆ cr_input_increment_line_num()

enum CRStatus cr_input_increment_line_num ( CRInput a_this,
glong  a_increment 
)

cr_input_increment_line_num: @a_this: the "this pointer" of the current instance of CRInput.

@a_increment: the increment to add to the line number.

Increments the current line number.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 581 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

◆ cr_input_new_from_buf()

CRInput* cr_input_new_from_buf ( guchar *  a_buf,
gulong  a_len,
enum CREncoding  a_enc,
gboolean  a_free_buf 
)

cr_input_new_from_buf: @a_buf: the memory buffer to create the input stream from.

The CRInput keeps this pointer so user should not free it !. @a_len: the size of the input buffer. @a_enc: the buffer's encoding. @a_free_buf: if set to TRUE, this a_buf will be freed at the destruction of this instance. If set to false, it is up to the caller to free it.

Creates a new input stream from a memory buffer. Returns the newly built instance of CRInput.

Definition at line 129 of file cr-input.c.

References CR_OK.

Referenced by cr_input_new_from_uri(), cr_parser_new_from_buf(), and cr_tknzr_new_from_buf().

◆ cr_input_new_from_uri()

CRInput* cr_input_new_from_uri ( const gchar *  a_file_uri,
enum CREncoding  a_enc 
)

cr_input_new_from_uri: @a_file_uri: the file to create *the input stream from.

@a_enc: the encoding of the file *to create the input from.

Creates a new input stream from a file.

Returns the newly created input stream if this method could read the file and create it, NULL otherwise.

Definition at line 196 of file cr-input.c.

References CR_ERROR, CR_INPUT_MEM_CHUNK_SIZE, cr_input_new_from_buf(), CR_OK, and cr_utils_trace_debug.

Referenced by cr_tknzr_new_from_uri().

◆ cr_input_peek_byte()

enum CRStatus cr_input_peek_byte ( CRInput const *  a_this,
enum CRSeekPos  a_origin,
gulong  a_offset,
guchar *  a_byte 
)

cr_input_peek_byte: @a_this: the current instance of CRInput.

@a_origin: the origin to consider in the calculation of the position of the byte to peek. @a_offset: the offset of the byte to peek, starting from the origin specified by a_origin. @a_byte: out parameter the peeked byte.

Gets a byte from the input stream, starting from the current position in the input stream. Unlike cr_input_peek_next_byte() this method does not update the state of the current input stream. Subsequent calls to cr_input_peek_byte with the same arguments will return the same byte.

Returns CR_OK upon successful completion or, CR_BAD_PARAM_ERROR if at least one of the parameters is invalid; CR_OUT_OF_BOUNDS_ERROR if the indexed byte is out of bounds.

Definition at line 804 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, CR_OK, CR_SEEK_BEGIN, CR_SEEK_CUR, CR_SEEK_END, and PRIVATE.

Referenced by cr_input_peek_byte2(), and cr_tknzr_peek_byte().

◆ cr_input_peek_byte2()

guchar cr_input_peek_byte2 ( CRInput const *  a_this,
gulong  a_offset,
gboolean *  a_eof 
)

cr_input_peek_byte2: @a_this: the current byte input stream.

@a_offset: the offset of the byte to peek, starting from the current input position pointer. @a_eof: out parameter. Is set to true is we reach end of stream. If set to NULL by the caller, this parameter is not taken in account.

Same as cr_input_peek_byte() but with a simplified interface.

Returns the read byte or 0 if something bad happened.

Definition at line 856 of file cr-input.c.

References CR_END_OF_INPUT_ERROR, CR_ERROR, cr_input_peek_byte(), CR_SEEK_CUR, and PRIVATE.

Referenced by cr_tknzr_peek_byte2().

◆ cr_input_peek_char()

enum CRStatus cr_input_peek_char ( CRInput const *  a_this,
guint32 *  a_char 
)

cr_input_peek_char: @a_this: the current instance of CRInput.

@a_char: out parameter. The returned character.

Same as cr_input_read_char() but does not update the internal state of the input stream. The next call to cr_input_peek_char() or cr_input_read_char() will thus return the same character as the current one.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 755 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_get_nb_bytes_left(), CR_OK, cr_utils_read_char_from_utf8_buf(), and PRIVATE.

Referenced by cr_input_consume_char(), cr_input_consume_white_spaces(), and cr_tknzr_peek_char().

◆ cr_input_read_byte()

enum CRStatus cr_input_read_byte ( CRInput a_this,
guchar *  a_byte 
)

cr_input_read_byte: @a_this: the current instance of CRInput.

@a_byte: out parameter the returned byte.

Gets the next byte of the input. Updates the state of the input so that the next invocation of this method returns the next coming byte.

Returns CR_OK upon successful completion, an error code otherwise. All the out parameters of this method are valid if and only if this method returns CR_OK.

Definition at line 405 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_get_nb_bytes_left(), CR_OK, and PRIVATE.

Referenced by cr_tknzr_read_byte().

◆ cr_input_read_char()

enum CRStatus cr_input_read_char ( CRInput a_this,
guint32 *  a_char 
)

cr_input_read_char: @a_this: the current instance of CRInput.

@a_char: out parameter. The read character.

Reads an unicode character from the current instance of CRInput.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 448 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_END_OF_INPUT_ERROR, cr_input_get_nb_bytes_left(), CR_OK, cr_utils_read_char_from_utf8_buf(), and PRIVATE.

Referenced by cr_input_consume_char(), cr_input_consume_white_spaces(), and cr_tknzr_read_char().

◆ cr_input_ref()

void cr_input_ref ( CRInput a_this)

cr_input_ref: @a_this: the current instance of CRInput.

Increments the reference count of the current instance of CRInput.

Definition at line 309 of file cr-input.c.

References PRIVATE.

Referenced by cr_tknzr_set_input().

◆ cr_input_seek_index()

enum CRStatus cr_input_seek_index ( CRInput a_this,
enum CRSeekPos  a_origin,
gint  a_pos 
)

cr_input_seek_index: @a_this: the current instance of CRInput.

@a_origin: the origin to consider during the calculation of the absolute position of the new "current byte index". @a_pos: the relative offset of the new "current byte index." This offset is relative to the origin a_origin.

Sets the "current byte index" of the current instance of CRInput. Next call to cr_input_get_byte() will return the byte next after the new "current byte index".

Returns CR_OK upon successful completion otherwise returns CR_BAD_PARAM_ERROR if at least one of the parameters is not valid or CR_OUT_BOUNDS_ERROR in case of error.

Definition at line 940 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, CR_OUT_OF_BOUNDS_ERROR, CR_SEEK_BEGIN, CR_SEEK_CUR, CR_SEEK_END, and PRIVATE.

Referenced by cr_tknzr_seek_index().

◆ cr_input_set_column_num()

enum CRStatus cr_input_set_column_num ( CRInput a_this,
glong  a_col 
)

cr_input_set_column_num: @a_this: the "this pointer" of the current instance of CRInput.

@a_col: the new column number.

Setter of the current column number.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 542 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

Referenced by cr_input_set_cur_pos().

◆ cr_input_set_cur_index()

enum CRStatus cr_input_set_cur_index ( CRInput a_this,
glong  a_index 
)

cr_input_set_cur_index: @a_this: the "this pointer" of the current instance of CRInput .

@a_index: the new index to set.

Setter of the next byte index. It sets the index of the next byte to be read.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1077 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

Referenced by cr_input_set_cur_pos().

◆ cr_input_set_cur_pos()

enum CRStatus cr_input_set_cur_pos ( CRInput a_this,
CRInputPos const *  a_pos 
)

cr_input_set_cur_pos: @a_this: the "this pointer" of the current instance of CRInput.

@a_pos: the new position.

Sets the current position in the input stream.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1179 of file cr-input.c.

References _CRInputPos::col, CR_BAD_PARAM_ERROR, cr_input_set_column_num(), cr_input_set_cur_index(), cr_input_set_end_of_file(), cr_input_set_end_of_line(), cr_input_set_line_num(), CR_OK, _CRInputPos::end_of_file, _CRInputPos::end_of_line, _CRInputPos::line, _CRInputPos::next_byte_index, and PRIVATE.

Referenced by cr_tknzr_consume_chars(), cr_tknzr_get_cur_byte_addr(), cr_tknzr_get_cur_pos(), cr_tknzr_get_nb_bytes_left(), cr_tknzr_peek_byte(), cr_tknzr_peek_char(), cr_tknzr_read_char(), cr_tknzr_seek_index(), and cr_tknzr_set_cur_pos().

◆ cr_input_set_end_of_file()

enum CRStatus cr_input_set_end_of_file ( CRInput a_this,
gboolean  a_eof 
)

cr_input_set_end_of_file: @a_this: the current instance of CRInput.

@a_eof: the new end of file flag.

Sets the end of file flag.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1096 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

Referenced by cr_input_set_cur_pos().

◆ cr_input_set_end_of_line()

enum CRStatus cr_input_set_end_of_line ( CRInput a_this,
gboolean  a_eol 
)

cr_input_set_end_of_line: @a_this: the current instance of CRInput.

@a_eol: the new end of line flag.

Sets the end of line flag.

Returns CR_OK upon successful completion, an error code otherwise.

Definition at line 1137 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

Referenced by cr_input_set_cur_pos().

◆ cr_input_set_line_num()

enum CRStatus cr_input_set_line_num ( CRInput a_this,
glong  a_line_num 
)

cr_input_set_line_num: @a_this: the "this pointer" of the current instance of CRInput.

@a_line_num: the new line number.

Setter of the current line number.

Return CR_OK upon successful completion, an error code otherwise.

Definition at line 503 of file cr-input.c.

References CR_BAD_PARAM_ERROR, CR_OK, and PRIVATE.

Referenced by cr_input_set_cur_pos().

◆ cr_input_unref()

gboolean cr_input_unref ( CRInput a_this)

cr_input_unref: @a_this: the current instance of CRInput.

Decrements the reference count of this instance of CRInput. If the reference count goes down to zero, this instance is destroyed.

Returns TRUE if the instance of CRInput got destroyed, false otherwise.

Definition at line 327 of file cr-input.c.

References cr_input_destroy(), and PRIVATE.

Referenced by cr_tknzr_destroy(), and cr_tknzr_set_input().