aboutsummaryrefslogtreecommitdiff
path: root/src/variant.h (follow)
AgeCommit message (Collapse)Author
2011-03-18Wow, a lot has changed. String is not a template class, and it can do it's ownMike Buland
formatting ala QString.
2011-03-17Tweaks to the variant class make it much cooler, and there's a test/toolMike Buland
called format, it's a proof of concept of a text formatter. I think it's gonna' rock.
2011-01-20Wow, got the Stream changes propegated, all tests build with string instead ofMike Buland
fstring, and updated the copyright notice to extend to 2011
2011-01-20Bu::FString is now String, and there's a shell script to fix any other programsMike Buland
that were using fstring, I hope.
2011-01-10Merged in the core branch. This is a major update that fixes many things, andMike Buland
changes many others, including source files that were deleted and renamed. Before doing this update, I reccomend a full clean, or even a fresh checkout. Things to note, most outstanding about this update: - Bu::Socket was changed to Bu::TcpSocket and the default mode is blocking. - All templatized container classes are SharedCore now, which is good, but SharedCore is inherently non-reentrant safe. However, all SharedCore classes have a "clone" function that return a non-shared copy of the object, safe for passing into a reentrant safe function accessing shared memory.
2010-10-27Interesting tweak to the variant and optparser classes. In the Variant, itMike Buland
would always fail if a const char * was passed in, it now converts these silently to Bu::FStrings, good to know... Also, the OptParser now uses a Variant for overrides, meaning it doesn't have to do extra parsing, and the amount of code you have to write may be significantly reduced. Pretty sweet, overall. There is one downside. For the moment if you use a non-standard type or object as the target of a parameter it always needs to have a formatter >> operator defined, even if you override and the formatter >> operator is never called. Hopefully we can get around this in the future. Also, it looks like it should be relatively trivial to create conversion functions for the variant, they'll just be global template functions that take two parameters, source type and target type. Should be good times.
2010-10-16Many, many changes. Documentation changes, renamed the socket class toMike Buland
TcpSocket, fixed many other things, and finally removed ParamProc. Anything that needs it will now have to switch to OptParser.
2010-10-12This commit has a minor tweak to the variant class to make it easier to use,Mike Buland
and introduces the parser and lexer classes. I also made a test for parser and put it in the tools directory. That is silly, it shouldn't be. However, it's necesarry right now, because I don't want to do a full build to compile all the parser tests. However, this commit doesn't actually build yet. It will soon, I just wanted to get it all committed.
2010-07-30A few fixes and stuff in the Variant.Mike Buland
2010-06-21Both Bu::Variant and Bu::MiniCron failed to cleanup behind themselves in someMike Buland
cases. This has been fixed.
2010-02-13Added and updated the license info in all the source files, they still saidMike Buland
copyright 2007-2008.
2009-09-26Minor tweaks and fixes to Bu::VariantMike Buland
2009-09-25New Bu::Variant class. Store anything in it, get it out again, find out it'sMike Buland
type. It's really just that easy. More info, docs, and tweaks to come.