Jesse Beder
4568dd0b19
Started specialization for operator[] for integers
2011-09-11 21:32:47 -05:00
Jesse Beder
a308b73e8a
Set the map iterator to filter over undefined items
2011-09-11 19:44:27 -05:00
Jesse Beder
a03af5dd73
Implemented the map size computation
2011-09-11 17:16:26 -05:00
Jesse Beder
b50264e74d
Switched the implementation of maps from list<pair> to map (but just pointer comparison)
2011-09-11 16:56:38 -05:00
Jesse Beder
ecdd9cc66d
Added computing and caching the sequence size
2011-09-11 16:21:36 -05:00
Jesse Beder
2d81e46655
Added dependency management (to cause nodes to become defined if their children do)
2011-09-11 15:59:53 -05:00
Jesse Beder
b4963ab0fa
Added a few simple node tests, and the sequence one doesn't pass (let's work now)
2011-09-10 23:31:12 -05:00
Jesse Beder
2d06df474b
Fixed up the old API stuff, and removed the util/value (since it's no longer needed)
2011-09-10 23:11:28 -05:00
Jesse Beder
80cf3c98db
Fixed minor things that used the old API, compiles/links/runs\!
2011-09-10 22:59:27 -05:00
Jesse Beder
0d1b5224c8
Major switch from Value -> Node. The library compiles with the new API, but tests are still oldies, and don't compile
2011-09-10 17:57:23 -05:00
Jesse Beder
ac81d7c883
Start of moving Value -> Node and Node -> old API Node (with a #define toggle)
2011-09-10 17:18:15 -05:00
Jesse Beder
78b7a1b8a9
Added helper emitter functions, but we have a problem: YAML::Value is already a manipulator
2011-09-10 16:50:44 -05:00
Jesse Beder
12364895cb
Implemented value events emitter
2011-09-10 16:23:18 -05:00
Jesse Beder
5012063143
Fixed node iterator
2011-09-10 14:36:10 -05:00
Jesse Beder
4fdbb748ec
Updated the node/value classes with the new iterators, they compile until we try to instantiate anything
2011-09-10 14:11:42 -05:00
Jesse Beder
f5a9d4c8e3
Started emitting events for Values
2011-09-10 12:42:42 -05:00
Jesse Beder
09beb5c47a
Implemented sugar Parse() functions
2011-09-09 23:40:19 -05:00
Jesse Beder
6e03bebeb0
Implemented (untested) the value builder
2011-09-09 23:28:21 -05:00
Jesse Beder
ff1a8fc59a
Started writing new iterators
2011-09-09 16:17:59 -05:00
Jesse Beder
7bbf712c36
Made the 'data' member optional in node_ref - it's only created on-demand, so we don't waste extra memory every time we do Value tmp = v;
2011-09-09 14:26:55 -05:00
Jesse Beder
d3bbd08273
Added append()
2011-09-09 02:51:35 -05:00
Jesse Beder
4f8680b540
Switched operator[] access to node reference equality, not node equality
2011-09-09 02:39:36 -05:00
Jesse Beder
ec95e61c04
Switched memory to using shared nodes, and node_data to keep only naked node pointers, not shared nodes (to break the cycle, and we don't need weak pointers because their memory is guaranteed to exist, via 'memory')
2011-09-09 02:29:17 -05:00
Jesse Beder
6ffc9ac788
Added half of the std::map conversion (we don't have reading from Values yet)
2011-09-08 02:10:04 -05:00
Jesse Beder
0e197b8723
Added back the streamable conversions
2011-09-08 02:05:03 -05:00
Jesse Beder
3d84f57008
Switched convert to a templated struct that can be specialized (so we can partially specialize it)
2011-09-08 02:02:15 -05:00
Jesse Beder
a7ebb3615a
Added streamable conversions
2011-09-08 00:48:40 -05:00
Jesse Beder
a95baeafd6
Implemented conversion for std::string, including a bypass-accessor to the scalar value
2011-09-07 15:49:01 -05:00
Jesse Beder
1ab16bac62
Set the 'memory' to only store node_refs, not nodes
2011-09-07 14:56:04 -05:00
Jesse Beder
020cd97915
Set up map searching by templated key
2011-09-07 03:21:24 -05:00
Jesse Beder
f0174ca08b
Reorganized so that we don't have cyclic include problems
2011-09-07 02:59:58 -05:00
Jesse Beder
fed95c5da4
Implemented map access by already-existing node
2011-09-07 02:39:59 -05:00
Jesse Beder
a530630f1c
Started implementing node_data
2011-09-07 00:45:28 -05:00
Jesse Beder
dd1eb715c4
Switched YAML::Binary interface to use unsigned chars, not chars
2011-09-06 00:39:31 -05:00
Jesse Beder
7e129c9b64
Fixed empty string emitter bug (it now with auto-quote it
2011-09-06 00:24:10 -05:00
Jesse Beder
3e94c0a037
Switched the 'pragma once' to only happen on MSVC, or gcc >= 3.4 (it was causing trouble on the sun compiler)
2011-09-06 00:16:03 -05:00
Jesse Beder
bacb74e8ec
Forced a newline after any comments
2011-08-04 21:47:57 +00:00
Jesse Beder
b1ac3289b8
Included <cstddef> for NULL
2011-08-04 18:47:37 +00:00
Jesse Beder
9fbcfe9ec5
Added include <cstdlib> for using 'NULL' (apparently gcc 4.6 is more strict)
2011-05-03 21:55:49 +00:00
Jesse Beder
c67b41c966
Marked Parser, Emitter, Node, Iterator, Mark, and Null for exporting to a DLL. It appears to work properly, although VS gives me lots of warning C4251 since I didn't export all data members of each of the above classes.
...
It seems that it's not necessary to export those members (as long as you can't access them), and most of them are STL instances, which apparently cause lots of problems for DLLs. (For example, you simply can't export instances of std::map; see http://support.microsoft.com/kb/168958 .)
2011-03-16 02:31:30 +00:00
Jesse Beder
6152fb345e
Added newline at the end
2011-03-10 00:23:15 +00:00
Jesse Beder
bb463d8d8b
Fixed folding bug (detecting indentation, example 8.2), and clipping/stripping empty strings (example 8.6)
2011-03-04 02:26:59 +00:00
Jesse Beder
cb632b3968
Added explicit doc start/end tokens for the emitter, and set it so that if you try to write after you've already written a full doc, it writes a doc start and continues
2011-03-03 09:26:12 +00:00
Jesse Beder
b9d4ccd254
Removed the default --- at the start of all emitter output
2011-03-03 08:57:00 +00:00
Jesse Beder
d6aeb16450
Switched the scanner list of owned indent markers to a ptr_vector
2011-03-03 08:34:30 +00:00
Jesse Beder
a518d87cfc
Switched the emitter state's stack of groups to a ptr_stack
2011-03-03 08:11:14 +00:00
Jesse Beder
1f9cc2d327
Compressed the sequence-of-maps emitting (got rid of the unnecessary newline) - issue 61
2011-03-03 03:37:54 +00:00
Jesse Beder
ca5992b971
Merged r444:449 from the node refactoring branch to the trunk
2011-03-03 00:19:26 +00:00
Jesse Beder
7998db8397
Prettied up the bool formatting code
2011-03-02 20:59:39 +00:00
Jesse Beder
39c396ab01
Refactored bool emitting to make it 1) correct for the short bool form and 2) not barf on early versions of VS
2011-03-02 20:55:05 +00:00
Jesse Beder
f34d60ca65
Flipped the include guard and the pragma, and don't use the pragma for early versions of gcc (< 3.4)
2011-03-02 06:11:41 +00:00
Jesse Beder
4caedfda74
Small changes to eliminate compiler warnings for 'nite' in issue 83
2011-03-02 05:29:46 +00:00
Jesse Beder
2faeb76e2d
Moved the local structs from Emitter::Write(bool) to an anonymous namespace in the hopes that Visual Studio <= 2003 will be happy
2011-03-02 05:21:25 +00:00
Jesse Beder
802cc6bcd6
Merged contrib folders from the graphbuilder-api branch, including the recursive search in CMakeLists.txt
2011-03-02 04:48:04 +00:00
Jesse Beder
c65a7dfc7c
Switched exception constants to const char * const (from const std::string) so we don't have to construct them all in every translation unit, and switched the exception class to derive from std::runtime_error (so it handles what() for us)
2011-03-02 04:12:57 +00:00
Jesse Beder
d1cb1aa74f
Included cstddef to stream.h
2011-02-05 22:28:08 +00:00
Jesse Beder
be1b14f369
Added Anchor() regex (so that we're not just using Alphanumeric to match anchors), but it's still not 100% right (it shouldn't allow non-printable characters, e.g.). Also fixed a test that was broken along these lines (if a colon immediately follows an anchor, it's part of the anchor)
2011-01-31 17:47:20 +00:00
Jesse Beder
337cb553d0
Fixed emitting colon at end of scalar bug
2010-12-03 21:52:04 +00:00
Jesse Beder
a6afaabcb0
Refactored tags so we can emit secondary tags (and named local tags)
2010-10-28 23:06:16 +00:00
Jesse Beder
d508203ed8
Implemented binary emitting without the binary tag
2010-10-28 21:53:54 +00:00
Jesse Beder
f1697dea15
Refactored emitter so that it emits the : for an implicit key right away
2010-10-22 04:19:01 +00:00
Jesse Beder
6b7cb45ac8
Added more tests for the newline, and disallowed newlines after implicit block keys
2010-10-22 03:53:33 +00:00
Jesse Beder
1e4210401f
Added YAML::Newline manipulator for the emitter
2010-10-21 22:02:29 +00:00
Jesse Beder
51c84f1c02
Merged the other-tags branch into the trunk (this wasn't an rX:Y merge, since the branch wasn't branched directly from the head of the trunk)
2010-10-19 06:46:55 +00:00
Jesse Beder
5b8ca9ce01
Moved all the includes to a subfolder yaml-cpp so they don't interfere with other libraries' includes
2010-10-18 07:05:53 +00:00
Jesse Beder
a71c03a18b
Merged r366:387 from the jbeder-event-api branch
2010-10-18 06:45:03 +00:00
Jesse Beder
0a02403fb0
Fixed missing header
2010-05-01 20:05:15 +00:00
Jesse Beder
3a755de572
Added missing include
2009-12-02 05:59:18 +00:00
Jesse Beder
8723b8f358
Fixed leak when adding duplicate keys (and actually changed the behavior - now we take the first instance, not the last)
2009-12-02 01:01:45 +00:00
Jesse Beder
03df73a7b0
Refactored emitter operator << overloads to not template them, so it's easier to overload for pointer types
2009-11-17 20:21:22 +00:00
Jesse Beder
54b68230ae
Small bug from switching static initialized regexes to lazy ones
2009-11-12 05:45:47 +00:00
Jesse Beder
6f94f954bb
Overloaded more integral types for emitting
2009-11-06 03:24:12 +00:00
Jesse Beder
9a21a3ec8d
Switched the Exp:: regexes to functions that lazily evaluate their regexes
2009-11-04 22:56:59 +00:00
Jesse Beder
3779e4255d
Fixed silly bug in node cloning
2009-10-30 20:29:14 +00:00
Jesse Beder
e04be7890a
Fixed bug with block maps with null value (the next key was being read as the value)
2009-10-30 01:06:19 +00:00
Jesse Beder
ecb30132e9
Fixed the whitespace tracking when we escape a newline in a double-quoted string
2009-10-29 22:55:50 +00:00
Jesse Beder
3405a6fe01
Refactored the compact map notation, which made it easy to implement explicit keys for compact maps
2009-10-29 22:09:50 +00:00
Jesse Beder
d372729b92
Added case for parsing a compact key: value pair in a flow sequence with a null key
2009-10-29 22:01:01 +00:00
Jesse Beder
fadc2ad39f
Implemented adjacent key:value pairs when the key is JSON-like
2009-10-29 21:05:48 +00:00
Jesse Beder
8c9c9d90da
Added ability to read compact maps in a flow sequence
2009-10-29 19:41:46 +00:00
Jesse Beder
a372bfdc60
Merged r295:305 from the tags branch to the trunk
2009-10-29 15:48:06 +00:00
Jesse Beder
fe57829aca
Removed crt stuff (we can do memory leak checking in Linux easier)
2009-10-27 14:55:01 +00:00
Jesse Beder
beb524489c
Small refactoring
2009-10-22 21:51:32 +00:00
Jesse Beder
4ffb93c12b
Switch to flow map when emitting an empty block map
2009-10-22 14:21:12 +00:00
Jesse Beder
ae06a40fe6
Switch to flow sequence when emitting an empty sequence
2009-10-22 14:17:12 +00:00
Jesse Beder
315b00065b
Fixed bug in plain scalar folding
2009-10-20 14:47:16 +00:00
Jesse Beder
fa0af88dfe
Merged r270:HEAD of the emitting-unicode branch
2009-10-19 23:31:11 +00:00
Jesse Beder
bce845bb1f
Fixed little bug in parser commit
2009-10-19 22:42:30 +00:00
Jesse Beder
ed570b9f7c
Added default constructor to Parser, and cleaned it up a bit
2009-10-19 22:40:46 +00:00
Jesse Beder
3e1ba0f3b4
Refactored the UTF-8 emitting
2009-10-08 21:05:56 +00:00
Jesse Beder
d0b5bf4b7b
Fixed the emitter unicode output
2009-10-07 06:46:05 +00:00
Jesse Beder
7db39e66b8
Updated signature of Parser::GetNextDocument (issue 45)
2009-09-29 18:25:11 +00:00
Jesse Beder
da4614eb8b
Fixed flow folding, and made the separation slightly cleaner (but the whole scanscalar thing could use a major refactoring)
2009-09-08 05:24:06 +00:00
Jesse Beder
7bdd31b34b
(Actually) fixed the folding newline bug, but it's a bit messy, and we don't accurately make the distinction between block folding and flow folding
2009-09-07 23:29:04 +00:00
Jesse Beder
a4b8521efe
Fixed newlines in folded scalars bug
2009-09-07 22:48:32 +00:00
Jesse Beder
f3ff6ffc55
Fixed bugs with tab as non-content whitespace
2009-09-07 17:12:45 +00:00
Jesse Beder
e3ff87ecde
Fixed bugs in escape characters (both parsing and emitting)
2009-09-07 16:31:23 +00:00
Jesse Beder
2aab5acab4
Fixed last newline of folded scalar bug
2009-09-07 06:54:38 +00:00
Jesse Beder
e9d760eea9
Fixed bug in trailing newlines of plain scalars
2009-09-07 06:42:03 +00:00
Jesse Beder
5217149ed4
Fixed bug with complex keys (and simplified the parsing for flow maps)
2009-09-06 21:52:56 +00:00