72a510ce71
fixed: JSONToSpaceParser incorrectly read the last character from an UTF8 string (a last character before terminating zero char) it caused a syntax error when parsing
Tomasz Sowa2018-04-26 16:36:15 +00:00
bf4fdf6da7
added: 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 one
Tomasz Sowa2018-04-22 21:22:55 +00:00
38355a2830
added: 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
dc0cd13178
some work in Space - default value returned from TextRef()
Tomasz Sowa2018-04-16 22:55:58 +00:00
c910e22c00
temporarily commented 'current_nested_level' in JSONtoSpaceParser
Tomasz Sowa2018-04-16 22:51:14 +00:00
cb23304885
added: 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
e24112b79b
some 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
7d51372844
added: 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
cde990ba82
start changing the Space API removed table_single from Space
Tomasz Sowa2017-06-27 16:51:55 +00:00
62f16ecb1b
changed: using relative paths calculated with relative_path now
Tomasz Sowa2016-03-18 09:27:40 +00:00
9deb2ff2f2
some work in MainSpaceParser: added reading long (--longname) parameters
Tomasz Sowa2016-02-08 18:00:17 +00:00
7b4b576489
added: MainSpaceParser - starting writing a parser for main(argc, argv) arguments (a Space object is returned)
Tomasz Sowa2016-01-21 18:49:42 +00:00
d9b583df76
instead 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
d655c7c872
removed: svn:executable attribute from files
Tomasz Sowa2014-11-01 17:11:00 +00:00
39717a4dd2
fixed: 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
28ea8f3c3e
added: 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
3cc5fd5e12
added: -I.. flag for Makefiles when compiling changed: in SpaceToJSON::PrintToken(): slash doesn't have to be escaped when serializing to JSON
Tomasz Sowa2013-10-15 23:53:57 +00:00
aa394b1e4f
dummy commit (testing a new repository)
Tomasz Sowa2013-05-07 05:13:08 +00:00
6e57002a90
fixed: 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
1e48455942
added: 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
02abfe62fa
changed: 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
f8d5a962ed
changed: rewritten the Serialize method in SpaceToJSON class
Tomasz Sowa2012-07-15 22:53:24 +00:00
2b88d011f6
updated: SpaceToJSON (not finished yet)
Tomasz Sowa2012-07-13 12:26:09 +00:00
2af6c28a54
added: 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
600d0fc34a
added: some work in membuffer and textstreambase
Tomasz Sowa2012-07-10 16:53:26 +00:00
d2d30cf640
added: 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
64b05fe8d1
added: some work in MemBuffer (copy cctor and assignment operator)
Tomasz Sowa2012-07-02 20:27:31 +00:00
862dd01ea9
fixed: friend keyword should be used with a type name like 'class'
Tomasz Sowa2012-07-01 22:49:08 +00:00
27cde22774
fixed: two operators: Date::operator=(const CStringType) need 'return' statement
Tomasz Sowa2012-05-24 19:24:37 +00:00
0ffb2b155f
added: some methods for parsing from a string
Tomasz Sowa2012-05-22 23:47:41 +00:00
e25bc826e7
changed: 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
5d9ce6e093
changed: 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
11ddf0f6d9
fixed: in Space serializer: we have to escape more characters fixed: in SpaceParser::ReadTokenSingle the delimiter can be only if the character was not escaped
Tomasz Sowa2012-05-12 15:54:20 +00:00
e195145394
changed: 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
e620c8f95d
changed: SpaceParser -- parser's engine has been rewritten now we can map all strings to all strings documentation in space.h need to be updated yet
Tomasz Sowa2012-05-10 21:16:19 +00:00
3280568594
added: 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
8b3c2904aa
fixed: swprintf version for MS Visual
Tomasz Sowa2012-02-15 07:46:34 +00:00
a233f8d4df
added: to Space: void RemoveSpace(size_t child_index)
Tomasz Sowa2012-02-14 20:34:37 +00:00
29d179963e
changed: in Space: methods Add() return a reference to the inserted value now (std::wstring &)
Tomasz Sowa2012-02-12 18:54:06 +00:00
d0272485dc
added: 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
04ca4692b3
added: 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 one
Tomasz Sowa2012-01-16 10:16:55 +00:00
d0ffdd336c
added: namespace PT, global Makefile file
Tomasz Sowa2012-01-12 02:46:16 +00:00