67typedef struct LineParser LineParser;
116_Ret_valid_ LineParser* _lparseCreatePull(_Inout_ StreamBuffer* sb, flags_t flags);
143#define lparseCreatePull(sb, ...) _lparseCreatePull(sb, opt_flags(__VA_ARGS__))
153_Success_(
return) _Check_return_
bool lparseLine(_Inout_ LineParser* lp, _Inout_
string* out);
174_Ret_opt_valid_ LineParser* _lparseCreatePush(_Inout_ StreamBuffer* sb, _In_ closure pline,
210#define lparseCreatePush(sb, pline, ...) _lparseCreatePush(sb, pline, opt_flags(__VA_ARGS__))
Basic closure functionality.
LINEPARSER_FLAGS_ENUM
Line parser configuration flags.
@ LPARSE_LF
Expect LF (Unix-style) line endings.
@ LPARSE_CRLF
Expect CR+LF (Windows-style) line endings.
@ LPARSE_IncludeEOL
Include the EOL markers in the returned line (by default they are stripped)
@ LPARSE_Auto
Auto-detect line ending style from first line found.
@ LPARSE_Mixed
Accept mixed CR+LF and LF line endings.
@ LPARSE_EOL_COUNT
Number of EOL modes (internal use)
@ LPARSE_EOL_MASK
Mask for extracting EOL mode.
bool lparseLine(LineParser *lp, string *out)
bool(* lparseLineCB)(stvlist *cvars, strref line)
void lparseDestroy(LineParser **lp)
Core stream buffer implementation for efficient data streaming.