72a510ce71fixed: JSONToSpaceParser incorrectly read the last character from an UTF8 string (a last character before terminating zero char) it caused a syntax error when parsingTomasz Sowa2018-04-26 16:36:15 +00:00
bf4fdf6da7added: Toa() for long long, int, short and unsigned as well fixed: when serializing Date the year has at least 4 digits e.g. 0001 when the year is equal to oneTomasz Sowa2018-04-22 21:22:55 +00:00
38355a2830added: method Date::SerializeISO(Stream & out) outputs to the given stream: YYYY-MM-DDTHH:MM:SSZ, eg: 1990-02-12T13:05:39Z added: parsing date in a format: YYYY-MM-DDTHH:MM:SS ('T' letter given)Tomasz Sowa2018-04-20 09:33:53 +00:00
dc0cd13178some work in Space - default value returned from TextRef()Tomasz Sowa2018-04-16 22:55:58 +00:00
c910e22c00temporarily commented 'current_nested_level' in JSONtoSpaceParserTomasz Sowa2018-04-16 22:51:14 +00:00
cb23304885added: to methods Toull(), Toll(), Toul(), Toui(), Tol(), Toi() a new parameter: bool allow_skip_whitechars default true added: new methods: Toull_b(), Toll_b(), Toul_b(), Toui_b(), Tol_b(), Toi_b() automatically detects the base (radix): 4323 - base 10 0122 - base 8 (string starts with 0) #fff - base 16 (string starts with #) &101 - base 2 (string starts with &) added: CharType * SkipWhiteFromBack(CharType * str, bool check_additional_chars = true, bool treat_new_line_as_white = true) skipping white characters from the end of a string changed: Toll_b(), Toull_b(), Tol_b() and Toul_b() are used in Space now for methods ToInt() etc so we are able to use a different base now changed: some work in Space (const correctness)Tomasz Sowa2018-01-05 20:03:11 +00:00
e24112b79bsome work in Space API: added: new GetValue() implementation Value * GetValue(const wchar_t * name) Value * GetValue(const std::wstring & name) const Value * GetValue(const wchar_t * name) const const Value * GetValue(const std::wstring & name) const added: const correctness for Text() and TextA() methods std::wstring Text(...) const; std::string TextA(...) const; added: TextA() with a wide second argument std::string TextA(const wchar_t * name, const wchar_t * def) const; std::string TextA(const std::wstring & name, const wchar_t * def) const; std::string TextA(const std::wstring & name, const std::wstring & def) const;Tomasz Sowa2017-12-07 11:35:12 +00:00
7d51372844added: functions for dealing with white characters: bool IsWhite(wchar_t c, bool check_additional_chars, bool treat_new_line_as_white) (checking unicode white characters too) CharType * SkipWhite(CharType * str, bool check_additional_chars = true, bool treat_new_line_as_white = true) IsDigit(wchar_t c, int base, int * digit)Tomasz Sowa2017-12-05 16:32:21 +00:00
cde990ba82start changing the Space API removed table_single from SpaceTomasz Sowa2017-06-27 16:51:55 +00:00
62f16ecb1bchanged: using relative paths calculated with relative_path nowTomasz Sowa2016-03-18 09:27:40 +00:00
9deb2ff2f2some work in MainSpaceParser: added reading long (--longname) parametersTomasz Sowa2016-02-08 18:00:17 +00:00
7b4b576489added: MainSpaceParser - starting writing a parser for main(argc, argv) arguments (a Space object is returned)Tomasz Sowa2016-01-21 18:49:42 +00:00
d9b583df76instead of directly using 'ar' program we are using the AR macro now (which defaults to 'ar' if you do not define it)Tomasz Sowa2014-11-12 04:11:28 +00:00
d655c7c872removed: svn:executable attribute from filesTomasz Sowa2014-11-01 17:11:00 +00:00
39717a4dd2fixed: in static size_t WideToInt(const wchar_t * wide_string, size_t string_len, int & z, bool & correct) we didn't test UTF8_CheckRange()Tomasz Sowa2014-10-04 11:18:33 +00:00
28ea8f3c3eadded: to membuffer: template<typename in_item_type> void append(const in_item_type * item_array, size_t len); when adding values from item_array are casted to the type of the internal buffer changed: some minor optimizations in Space (in Add() methods with WTextStream as an argument) changed: removed following write() methods from TextStreamBase: TextStreamBase & write(const char * buf, size_t len); TextStreamBase & write(const wchar_t * buf, size_t len); and added a template instead: template<typename in_buffer_type> TextStreamBase & write(const in_buffer_type * buf, size_t len); this allows to write char* buffer to TextStreamBase<wchar_t...> (and vice versa) added: two write() methods to TextStreamBase: write(const char * format, double val); write(const wchar_t * format, double val); converting double value to the text (format is the same as in snprintf)Tomasz Sowa2013-11-28 22:21:10 +00:00
3cc5fd5e12added: -I.. flag for Makefiles when compiling changed: in SpaceToJSON::PrintToken(): slash doesn't have to be escaped when serializing to JSONTomasz Sowa2013-10-15 23:53:57 +00:00
aa394b1e4fdummy commit (testing a new repository)Tomasz Sowa2013-05-07 05:13:08 +00:00
6e57002a90fixed: in MemBuffer::MemBuffer(const MemBuffer<> & arg) we have to initialize some variables before calling the operator=Tomasz Sowa2012-10-27 07:45:39 +00:00
1e48455942added: to Space: bool HasValue(const wchar_t * name, const wchar_t * value); bool HasValue(const wchar_t * name, const std::wstring & value); bool HasValue(const std::wstring & name, const wchar_t * value); bool HasValue(const std::wstring & name, const std::wstring & value); useful when testing whether a value is in a list (or in simple table too)Tomasz Sowa2012-10-17 19:55:16 +00:00
02abfe62fachanged: in SpaceParser: now we do not parse special characters when reading commentaries so we can parse: # such a \n string beforehand this \n was treated as a new line character and the parser was returning syntax error when reading above 'string'Tomasz Sowa2012-09-25 16:50:01 +00:00
2af6c28a54added: JSONToSpaceParser -- a parser for JSON format to Space structure added: SpaceToJSON -- a serializer from Space structure to JSON (not finished yet)Tomasz Sowa2012-07-12 15:01:15 +00:00
600d0fc34aadded: some work in membuffer and textstreambaseTomasz Sowa2012-07-10 16:53:26 +00:00
d2d30cf640added: convert (functions for converting) currently only int(long) -> string added: textstream (an efficient memory stream for creating strings -- it's using MemBuffer)Tomasz Sowa2012-07-03 14:58:18 +00:00
64b05fe8d1added: some work in MemBuffer (copy cctor and assignment operator)Tomasz Sowa2012-07-02 20:27:31 +00:00
862dd01ea9fixed: friend keyword should be used with a type name like 'class'Tomasz Sowa2012-07-01 22:49:08 +00:00
27cde22774fixed: two operators: Date::operator=(const CStringType) need 'return' statementTomasz Sowa2012-05-24 19:24:37 +00:00
0ffb2b155fadded: some methods for parsing from a stringTomasz Sowa2012-05-22 23:47:41 +00:00
e25bc826e7changed: Date::SerializeDay outputs the date in a form of YYYY-MM-DD (before was: YYYY.MM.DD)Tomasz Sowa2012-05-13 21:49:06 +00:00
5d9ce6e093changed: in SpaceParser: white characters can be escaped by '\ ' and in such a case this is not a delimiter (when reading single token)Tomasz Sowa2012-05-12 18:20:39 +00:00
11ddf0f6d9fixed: in Space serializer: we have to escape more characters fixed: in SpaceParser::ReadTokenSingle the delimiter can be only if the character was not escapedTomasz Sowa2012-05-12 15:54:20 +00:00
e195145394changed: now in SpaceParser 'split_single' and utf8 are default removed: some errors checking at the end of a line now we can have in the same line: value="option" value2="option2"Tomasz Sowa2012-05-12 14:54:19 +00:00
e620c8f95dchanged: SpaceParser -- parser's engine has been rewritten now we can map all strings to all strings documentation in space.h need to be updated yetTomasz Sowa2012-05-10 21:16:19 +00:00
3280568594added: Date structure -- represents year, month, day, hour, min, sec with O(1) algorithm for converting from time_t (seconds from Unix epoch)Tomasz Sowa2012-05-05 15:08:04 +00:00
8b3c2904aafixed: swprintf version for MS VisualTomasz Sowa2012-02-15 07:46:34 +00:00
a233f8d4dfadded: to Space: void RemoveSpace(size_t child_index)Tomasz Sowa2012-02-14 20:34:37 +00:00
29d179963echanged: in Space: methods Add() return a reference to the inserted value now (std::wstring &)Tomasz Sowa2012-02-12 18:54:06 +00:00
d0272485dcadded: to Space: void Add(const wchar_t * name, bool value); void Add(const wchar_t * name, int value); void Add(const wchar_t * name, long value);Tomasz Sowa2012-02-10 00:32:22 +00:00
04ca4692b3added: to Space: long Long(const wchar_t * name) for getting a long variable, added: to Space: void Add(const wchar_t * name, long value) void Add(const wchar_t * name, const wchar_t * value) for inserting a variable, added: to Space: Space & AddSpace(const wchar_t * name); for inserting a new space added: to Space: Space * FindSpace(const wchar_t * name); to find a specified space added: to Space: Space & FindAddSpace(const wchar_t * name); to find a specified space and if not exists automatically add a new oneTomasz Sowa2012-01-16 10:16:55 +00:00
d0ffdd336cadded: namespace PT, global Makefile fileTomasz Sowa2012-01-12 02:46:16 +00:00