b781948f21HTMLParser now parses correctly such entities: & < > " 'Tomasz Sowa2021-12-02 17:44:41 +0100
2dadfc0809added: HTMLParser::ItemParsedListener listener with an item_parsed(...) method which is called when a tag is parsed by the parserTomasz Sowa2021-11-30 16:27:27 +0100
bb9205a55eadded: Space::Space(const Date & date), Space::set(const Date & date), Space::add(const Date & date), Space::add(const wchar_t * field, const Date & date)Tomasz Sowa2021-11-05 09:27:32 +0100
5eff9a5f4fSpace::to_bool() return true now when a string/object or table is non emptyTomasz Sowa2021-10-20 08:30:57 +0200
c54c398828fixed in HTMLParser: </nofilter> tag was printedTomasz Sowa2021-10-13 00:40:55 +0200
17d2c0fb25- added some converting methods: esc_to_json(...), esc_to_xml(...), esc_to_csv() (convert/misc.h) - BaseParser: added possibility to read from TextStream and WTextStream - HTMLParser: added filter(const WTextStream & in, Stream & out, ...) method - added utf8_stream.h with one method: template<typename StreamIteratorType> size_t utf8_to_int( StreamIteratorType & iterator_in, StreamIteratorType & iterator_end, int & res, bool & correct)Tomasz Sowa2021-10-12 19:53:11 +0200
4902eb6037fixed: in HTMLParser::CheckClosingTags() don't return immediately if stack_len is equal to 2Tomasz Sowa2021-10-03 13:22:49 +0200
f23cabfb2fadded to HTMLParser: filter_file(...) methods for filtering from a fileTomasz Sowa2021-10-02 20:34:19 +0200
5b2583b566fixed in HTMLParser: sometimes a closing item left on the stack, for stack_len < 3 there was not PopStack() calledTomasz Sowa2021-10-02 18:45:02 +0200
2576eb12d1HTMLParser: start working on xml mode added methods: Status parse_xml_file(const char * file_name, Space & out_space, bool compact_mode = false, bool clear_space = true); Status parse_xml_file(const std::string & file_name, Space & out_space, bool compact_mode = false, bool clear_space = true); Status parse_xml_file(const wchar_t * file_name, Space & out_space, bool compact_mode = false, bool clear_space = true); Status parse_xml_file(const std::wstring & file_name, Space & out_space, bool compact_mode = false, bool clear_space = true);Tomasz Sowa2021-08-10 21:56:04 +0200
b1cc64a29badded a compact_mode option when creating a space outputTomasz Sowa2021-08-10 01:45:10 +0200
b8a03bf852HTMLParser: added possibility to parse html to Space class added method: HTMLParser::parse_html(const wchar_t * in, Space & space)Tomasz Sowa2021-08-07 21:21:16 +0200
7fcfdac52fSpace: added pretty_print parameter to some json serializing methodsTomasz Sowa2021-08-07 21:19:38 +0200
8c5ede5cf3HTMLParser: for <script> and <!- (comments) we copy the content without parsingTomasz Sowa2021-08-07 02:13:13 +0200
f6df8bc1bcHTMLFilter: added a std::vector<int> stack for a current white mode - white chars mode can be changed by such tags: <textarea>, <pre>, <script>, <nofilter>Tomasz Sowa2021-07-21 15:57:46 +0200
c0e940c500fixed improper new line character after <single/> items, added Item::new_line_before flagTomasz Sowa2021-07-21 11:30:49 +0200
4f8ae6ce29some work in HTMLFilter - instead of directly using pchar pointer now we use pointers/streams from BaseParser - removed support for putting a white char in long words: removed BreakWord(size_t break_after_) method - changed the way how white characters are treated: added white_chars_mode(int mode) method mode 0: WHITE_MODE_ORIGIN mode 1: WHITE_MODE_SINGLE_LINE mode 2: WHITE_MODE_TREETomasz Sowa2021-07-20 20:48:01 +0200
7ce07c57f5added a base class for parsers: BaseParser (convert/baseparser.h|cpp) there are methods for reading from string/files there those methods were moved from SpaceParser and CSVParser fixed: CSVParser didn't set input_as_utf8 flagTomasz Sowa2021-07-17 14:38:22 +0200
1e5598cde1added to Date: SerializeMonthAsRoman(Stream & out, int month) - serialize month in Roman numerals added a param: 'bool roman_month' to some serialize methodsTomasz Sowa2021-07-06 21:44:04 +0200
198945c97bPatternReplacerBase: to_string() changed to to_str()Tomasz Sowa2021-07-06 21:42:42 +0200
34f1fc04cfadded Space::remove(size_t table_index) for removing a table item fixed: pretty printing for Space formatTomasz Sowa2021-06-29 23:25:31 +0200
8997284b16added trim(...) functions to convert/text.hTomasz Sowa2021-06-29 23:23:35 +0200
e0d6e7fcb1added to Space: Space & get_add_space(const wchar_t * field); Space & get_add_space(const std::wstring & field);Tomasz Sowa2021-06-27 15:58:53 +0200
009e240a8dfixed some memory leaks in Space, pointers in tables and objects were not correctly 'deleted', affected methods: set_empty_table() set_empty_object() add(const wchar_t * field, Space && space) copy_value_object(const Value & value_from) copy_value_table(const Value & value_from) initialize_value_object_if_needed(ObjectType && obj) initialize_value_table_if_needed(TableType && tab) add_generic(const wchar_t * field, const ArgType & val)Tomasz Sowa2021-06-27 15:41:38 +0200
4a1630b1earemoved support for so called child objects from Space (this was an old feature of Space struct, now not needed) Space::get_object_field(...) renamed to Space::get_space(...)Tomasz Sowa2021-06-26 22:56:12 +0200
4d9f5f6c55Log class has the Stream class as a base class now - implemented some missing operators<<(...) - removed Manipulators: l1, l2, l3, l4, lend, lsave - PascalCase to snake_case in LogTomasz Sowa2021-06-24 20:52:48 +0200
2b6789754fimplemented pretty printing in Space::serialize_to_json_stream(StreamType & str, bool pretty_print, int level)Tomasz Sowa2021-06-23 21:54:34 +0200
3c0b59e115added to Space: long double to Space::Value and methods for converting from/to long doubleTomasz Sowa2021-06-23 17:01:43 +0200
ac407b2362macro renamed: PT_HAS_MORM -> PT_HAS_MORM_LIBRARY TextStream::to_string(...) is now TextStream::to_str(...) added: std::string TextStream::to_str() const; added: std::wstring TextStream::to_wstr() const;Tomasz Sowa2021-06-20 16:46:08 +0200
819c49e638added class Stream (textstream/stream.h) which acts as a base class for TextStream TextStream is making conversions wide/utf8 nowTomasz Sowa2021-06-20 14:13:23 +0200
865837d911fixed in Space::find_child_space_const(...) - clang address sanitizer reports stack-use-after-scope we have got a reference to a Space instead of a pointer and a local object was created and returnedTomasz Sowa2021-06-18 18:52:24 +0200
55f6bda3abMerge branch 'api2021' added support for surrogate pairs when reading \uHHHH format added support to parse \u{H...} format (only if parsing Space format) and some fixesTomasz Sowa2021-06-14 13:51:53 +0200
4d70ae9e87fixed: using size() when serializing strings - this allows to serialize a string which contain a null character fixed: printing null character in space format: \u0000 (before was \0 which is not correct in json) fixed: in serialize_string_buffer(const char * input_str, ...) a temporary fixed was used when copying input string added support for surrogate pairs when reading \uHHHH format added support to parse \u{H...} format (only if parsing Space format)Tomasz Sowa2021-06-14 13:48:32 +0200
848cdf9c03Merge pull request 'api2021 part I' (#4) from api2021 into masterTomasz Sowa2021-05-27 10:37:35 +0200
49c2b478c0fixed return value from Space::add_child_space()Tomasz Sowa2021-05-21 17:32:10 +0200
5ce36ea844changed the way how child_spaces are created in Space class - removed child_spaces and name pointers - now a table with child spaces is created under "child_spaces" object field - a name of the child space is stored in "name" field of the child objectTomasz Sowa2021-05-21 17:13:11 +0200