Commit graph

160 commits

Author SHA1 Message Date
易思龙
91aee10579 support enum
construct enum type to basic_json (proxy by int type)
```
    enum { t = 0 };
    json  j = json::array();
    j.push_back(t);

    j.push_back(json::object({
         {"game_type", t}
    }));
```
2015-05-09 17:44:10 +08:00
Niels
a8e92a6bfb fixed #68 2015-05-06 20:18:16 +02:00
Niels
17609f244d fixed #70 2015-05-06 19:52:12 +02:00
Niels
1580eee4ed applied #69 to header 2015-05-04 23:31:34 +02:00
Niels
1ac4d673b6 fixed test case 2015-05-03 18:46:26 +02:00
Niels
952cbbc795 manually merged pull request #41 2015-05-03 17:52:13 +02:00
Niels
faae8bb843 some typename fix 2015-04-27 23:09:51 +02:00
Niels
81d3973151 undid changes that broke the build 2015-04-26 21:51:35 +02:00
Niels
f874b5f0f8 clean up
- removed m_final member
- parse_internal now takes a reference to a basic_json object to fill
with data
- header is automatically regenerated if re2c file is changed
2015-04-26 21:43:47 +02:00
Niels
f09df96742 updated README 2015-04-26 15:16:07 +02:00
Niels
7a32bd22e9 Merge pull request #63 from Florianjw/master
Improve the implementations of the comparission-operators
2015-04-26 15:10:32 +02:00
Niels
c7f95cc636 minor change to the parsing of objects/arrays 2015-04-26 15:10:04 +02:00
Florian Weber
4fbff7d140 simplify value_t::operator< by using a lookup-table 2015-04-26 14:55:06 +02:00
Florian Weber
f5e95522aa remove braces around single-return-statement switch-cases 2015-04-26 14:44:56 +02:00
Florian Weber
d2771eb1bb Fix comparission between integers and floats
Until now it depended on the parameter-order whether
integers and floats were compared as integers or floats.

Appart from being not logical, this might even have meant that
the provided “order” was in fact not that. (not sure here, but I
like to be carefull)
2015-04-26 14:39:39 +02:00
Florian Weber
306695dd25 fix typos and improve operator== 2015-04-26 14:31:31 +02:00
Florian Weber
28f64c22a9 simplify operator< 2015-04-26 14:19:56 +02:00
Niels
a372937424 fixed some small issues 2015-04-26 13:37:01 +02:00
Niels
e3ab0bc74a addressing issue #62 2015-04-25 23:10:23 +02:00
Niels
89a8491914 minor changes 2015-04-25 01:25:42 +02:00
Niels
fc58a73523 fix #60 (double escaping) 2015-04-24 22:06:57 +02:00
Niels
2dd94dd943 some simplifications 2015-04-12 17:26:54 +02:00
Niels
f03c6ce458 added missing test cases 2015-04-12 16:57:51 +02:00
Niels
dda8a5c473 adjusted code to documentation; some cleanup 2015-04-12 16:19:21 +02:00
Niels
139ef0e750 implemented front() and back() 2015-04-12 14:14:00 +02:00
Niels
ade49f8b2a constructor for an integer range 2015-04-12 13:15:26 +02:00
Niels
b801adca76 started to implement sequence container 2015-04-12 12:02:30 +02:00
Niels
02f617f083 adjusted code to documentation 2015-04-11 19:26:12 +02:00
Niels
6dceab583c implemented issue #57: erase with iterators 2015-04-11 15:30:19 +02:00
Niels
84195daf28 added erase function for arrays 2015-04-09 18:55:57 +02:00
Niels
1bdb6acb1f overworked type conversion 2015-04-08 22:23:40 +02:00
Niels
0a96116b0c more SFINAE 2015-04-03 16:34:39 +02:00
Niels
ea1046110d using "key_type" where possible 2015-04-03 14:43:44 +02:00
Niels
b747881466 subtle fix for get() function 2015-04-03 14:20:15 +02:00
Niels
5e89cb0acb implemented key()/value() for reverse iterators 2015-03-26 17:06:33 +01:00
Niels
47ea1c10d4 key/value function for iterators (#46)
Currently only support iterator and const_iterator. reverse_iterator
and const_reverse_iterator to be implemented soon.
2015-03-24 19:08:03 +01:00
Niels
0707030bc5 minor changes to pull request #40 2015-03-24 18:05:58 +01:00
Niels
e3188897f8 more on #48: allowing non-std begin/end functions 2015-03-24 17:39:00 +01:00
Niels
6fc52f3302 fixed #47 (added erase function to remove key form object) 2015-03-24 16:50:55 +01:00
Niels
43417c350b fixed #42 (removed equality comparisons for floats) 2015-03-23 23:03:48 +01:00
Niels
53e3da8071 minor adjustments to pull request #38 2015-03-23 20:27:30 +01:00
Niels
a382a93a8e Merge pull request #38 from wtsi-hgi/feature/small-float-serialization
Feature/small float serialization
2015-03-23 20:15:50 +01:00
Niels
bb2671df11 fixed #43 (adding friendship to allow iterator change) 2015-03-22 19:18:21 +01:00
Niels
f2957dc3bf fixed #45 (added count function for keys in objects) 2015-03-22 19:07:43 +01:00
Niels
cf829ac2e8 fixed deprecated warnings in issue #42 2015-03-22 17:50:43 +01:00
Niels
abc6137001 fixed #48 (using nonmember begin/end) 2015-03-22 17:30:48 +01:00
Joshua C. Randall
7bfcbe2825 Fixes serialization of small floats
Now uses std::snprintf() to generate a "%.15g" formatted string
for JSON values of type number_float. 15 decimals digits are
enough to round-trip an IEEE 754 double from string->double->string
and get an identical result.

std::snprintf is called twice. Once to determine the required
buffer size and then again after allocating a buffer of that
size.

Note that the buffer size *could* be hardcoded for better
performance. "%.15g" should result in strings of maximum length
23, plus one character for the terminating null for a buffer size
of 24.
2015-02-28 17:11:46 +00:00
Niels
63c70fa07e minor changes 2015-02-24 23:19:19 +01:00
Niels
d524e23204 overworked iterators 2015-02-22 17:52:27 +01:00
Niels
bc2e3a798d a more forgiving array behavior 2015-02-21 13:24:07 +01:00
Niels
afd02eee44 fixed [] operator; added README 2015-02-18 22:28:56 +01:00
Niels
9e7941b6ba more type adjustments 2015-02-17 00:22:12 +01:00
Niels
432a54e570 some type fixes 2015-02-16 23:17:28 +01:00
Niels
a3f52a5a04 minor change to make code more portable 2015-02-16 22:54:07 +01:00
Niels
5ca84052a7 removed unused code and fixed includes 2015-02-16 22:47:30 +01:00
Niels
db91140156 clean up 2015-02-15 23:27:35 +01:00
Niels
429d2099ab more allocators 2015-02-15 23:13:46 +01:00
Niels
b387761e12 forgot to destroy object 2015-02-15 22:58:35 +01:00
Niels
568d75954e experiment with user-defined allocator 2015-02-15 22:49:26 +01:00
Niels
b1be1b45ee minor change 2015-02-15 18:43:17 +01:00
Niels
d31d1ca664 fix of the fix 2015-02-15 17:40:46 +01:00
Niels
9f87fd464a fixed Valgrind error 2015-02-15 17:07:19 +01:00
Niels
f1f72403cd some unicode magic 2015-02-15 16:56:54 +01:00
Niels
b80ca376f9 added some missing features from 2.0 version 2015-02-15 15:16:11 +01:00
Niels
2d8b362849 further cleanup 2015-02-15 14:52:00 +01:00
Niels
2fc82358ce clean up 2015-02-15 13:35:51 +01:00
Niels
bb558d8e6f added Unicode support 2015-02-15 11:44:49 +01:00
Niels
6ef3cb51a4 some reorganization 2015-02-14 17:34:06 +01:00
Niels
cc4a8319a1 reverse iterators 2015-02-14 16:47:14 +01:00
Niels
005a5c2858 some fixes and cleanup 2015-02-13 21:46:33 +01:00
Niels
4361c4d03f more test cases 2015-02-12 22:54:42 +01:00
Niels
89a1b0247b fixed a major bug in the parser 2015-02-11 17:24:14 +01:00
Niels
3f8dc632e2 test cases for iterator classes 2015-02-11 15:29:41 +01:00
Niels
53c9564c51 bug fix and test cases 2015-02-11 14:58:52 +01:00
Niels
7b7a54aca5 fixed a bug 2015-02-11 13:15:22 +01:00
Niels
f1bd206994 number test cases 2015-02-11 11:36:45 +01:00
Niels
463c38df60 fix test case 2015-02-11 10:57:17 +01:00
Niels
c816fd12a0 cleanup 2015-02-11 10:16:43 +01:00
Niels
d609790fff added whitespace handling 2015-02-11 09:51:24 +01:00
Niels
5d280143b7 fixes 2015-02-11 09:41:23 +01:00
Niels
8a4e127a57 + moved lexer to class 2015-02-11 09:10:28 +01:00
Niels
e845cd1db8 still errors... 2015-02-10 23:55:44 +01:00
Niels
0433e71fc3 rename member variables; add whitespace tests 2015-02-10 23:20:30 +01:00
Niels
f9797f8eb2 try 2015-02-10 23:05:45 +01:00
Niels
1aebb6e6ed removing failing (?) test cases 2015-02-10 22:48:16 +01:00
Niels
6232c78f88 possible fix 2015-02-10 22:37:07 +01:00
Niels
1bbde4597b more test cases 2015-02-10 22:09:21 +01:00
Niels
cd89a88b4a fix build error 2015-02-10 21:03:32 +01:00
Niels
963ec13b4a testing the parser 2015-02-10 20:52:39 +01:00
Niels
3589837071 more test cases 2015-02-10 20:28:16 +01:00
Niels
8c6bb04d10 added width feature / more test cases 2015-02-10 19:50:26 +01:00
Niels
29a8d43d5a fixed tests for copy assignment 2015-02-10 17:40:47 +01:00
Niels
2ec0c79e0f test cases and clean up 2015-02-09 21:10:19 +01:00
Niels
0cfd0f5d68 added test cases and fixed some warnings 2015-02-09 20:21:26 +01:00
Niels
e53e84e1cc more test cases 2015-02-09 18:45:32 +01:00
Niels
48392cfa79 some bug fixing 2015-02-09 18:02:31 +01:00
Niels
330ffd952b removed reverse_iterators and fixed some bugs 2015-02-08 19:18:39 +01:00
Niels
441a6f267f more test cases 2015-02-08 16:08:48 +01:00
Niels
16b91d491e more test cases 2015-02-08 15:47:40 +01:00
Niels
7cd9067ea2 more test cases 2015-02-08 14:38:52 +01:00