libconfini: IniFormat Struct Reference (original) (raw)
24-bit bitfield representing the format of an INI file (INI dialect) More...
#include <[confini.h](confini%5F8h%5Fsource.html)>
| Data Fields | |
|---|---|
| unsigned char | delimiter_symbol: 7 |
| unsigned char | case_sensitive: 1 |
| unsigned char | semicolon_marker: 2 |
| unsigned char | hash_marker: 2 |
| unsigned char | section_paths: 2 |
| unsigned char | multiline_nodes: 2 |
| unsigned char | no_single_quotes: 1 |
| unsigned char | no_double_quotes: 1 |
| unsigned char | no_spaces_in_names: 1 |
| unsigned char | implicit_is_not_empty: 1 |
| unsigned char | do_not_collapse_values: 1 |
| unsigned char | preserve_empty_quotes: 1 |
| unsigned char | disabled_after_space: 1 |
| unsigned char | disabled_can_be_implicit: 1 |
24-bit bitfield representing the format of an INI file (INI dialect)
Version
1.0
Date
October 6th, 2018 (version 1.7.0 of the library)
◆ case_sensitive
IniFormat::case_sensitive
If set to true, string comparisons will be always case-sensitive.
◆ delimiter_symbol
IniFormat::delimiter_symbol
The key-value delimiter character (ASCII only allowed); if set to \0, any space is delimiter (/(?:\\(?:\n\r?|\r\n?)|[\t \v\f])+/); if, within the format given, [IniFormat::delimiter_symbol](structIniFormat.html#a6d9981301f5a16d73e2c38cb80f7f962) matches a metacharacter ('\\', '\'', '\"'), its role as metacharacter will have higher priority than its role as delimiter symbol (i.e., the format will have no key-value delimiter); you may use the IniDelimiters enum for this.
◆ disabled_after_space
IniFormat::disabled_after_space
If set to true, what follows /\s+[#;]\s+/ is allowed to be parsed as a disabled entry; conversely, only /\s+[#;](?!\s)/ will be able to mark a disabled entry.
◆ disabled_can_be_implicit
IniFormat::disabled_can_be_implicit
If set to false, comments that do not contain a key-value delimiter will never be parsed as disabled keys, but always as simple comments (even if the format supports implicit keys).
◆ do_not_collapse_values
IniFormat::do_not_collapse_values
If set to true, sequences of one or more spaces in values (/\s+/) will be dispatched verbatim.
◆ hash_marker
◆ implicit_is_not_empty
IniFormat::implicit_is_not_empty
◆ multiline_nodes
IniFormat::multiline_nodes
Defines which class of entries are allowed to be multi-line (use enum IniMultiline for this).
◆ no_double_quotes
IniFormat::no_double_quotes
If set to true, the double-quote character (") will be considered as a normal character.
◆ no_single_quotes
IniFormat::no_single_quotes
If set to true, the single-quote character (') will be considered as a normal character.
◆ no_spaces_in_names
IniFormat::no_spaces_in_names
If set to true, key and section names containing spaces (even within quotes) will be dispatched as INI_UNKNOWN. Note that setting IniFormat::delimiter_symbol to INI_ANY_SPACE will not automatically set this option to true (spaces will still be allowed within quotes, and in section names independently of quotes).
◆ preserve_empty_quotes
IniFormat::preserve_empty_quotes
If set to true, and if single/double quotes are metacharacters, ensures that, within values, empty strings enclosed between quotes ("" or '') will not be collapsed together with the spaces that surround them. This option is useful for values containing space-delimited arrays, in order to preserve their empty members – as in, for instance: coordinates = "" "". Note that, in section and key names, empty strings enclosed between quotes are always collapsed together with their surrounding spaces.
◆ section_paths
Defines whether and how the format supports sections (use enum IniSectionPaths for this).
◆ semicolon_marker
IniFormat::semicolon_marker
The role of the semicolon character (use enum IniCommentMarker for this).
The documentation for this struct was generated from the following files: