aboutsummaryrefslogtreecommitdiff
path: root/src/fstring.h (follow)
AgeCommit message (Collapse)Author
2010-02-13Added and updated the license info in all the source files, they still saidMike Buland
copyright 2007-2008.
2009-11-12I've started my campaign to clean up all of the header files in libbu++ as farMike Buland
as includes go. This required a little bit of reworking as far as archive goes, but I've been planning on changing it aronud for a bit anyway. The final result here is that you may need to add some more includes in your own code, libbu++ doesn't include as many random things you didn't ask for anymore, most of these seem to be bu/hash.h, unistd.h, and time.h. Also, any Archive functions and operators should use ArchiveBase when they can instead of Archive, archivebase.h is a much lighterweight include that will be used everywhere in core that it can be, there are a few classes that actually want a specific archiver to be used, they will use it (such as the nids storage class). So far, except for adding header files, nothing has changed in functionality, and no other code changes should be required, although the above mentioned archive changeover is reccomended.
2009-08-11Added some more functions to Bu::FBasicString, including a setSize function.Mike Buland
Also added some awesome helpers to Bu::FString in the form of << operators to convert a string to many common types. Handy.
2009-01-07Only two real changes. First, Bu::FString and Bu::FBasicString are in differentMike Buland
files. This won't affect any programs at all anywhere. This will just make it easier to maintain and extend later. You still want to include "bu/fstring.h" and use Bu::FString in code. The other is kinda fun. I created a special format for unit tests, they use the extension .unit now and use the mkunit.sh script to convert them to c++ code. There are some nice features here too, maintaining unit tests is much, much easier, and we can have more features without making the code any harder to use. Also, it will be easier to have the unit tests generate reports and be run from a master program and the like.
2008-12-29Fixed some horror inside the Taf writer. It had a strange corner case whenMike Buland
adding a property to a group that had a name but an empty value. Also added a isEmpty() function to Bu::FString, finally.
2008-12-22Hey, corrected a minor issue in Bu::FString. Turns out C++ is hardass enoughMike Buland
that we need a concatination operator for both const chr * and chr *. This fixed a suprising number of problems.
2008-12-12All of those changes I thought I'd already committed. The taf writer handlesMike Buland
binary data much better, actually escaping it properly and not stopping on null. Bu::FString has an iterator, it's actually just a raw datatype, but it may have more function later, so careful assuming that it's a char and using it in any non-iterator like way. Also augmented the taf unit test, and added the Bu::CacheCalc base class, the rest of the simple develpment cycle will happen between here and project hhp.
2008-09-24Something may be wrong.Mike Buland
2008-09-24Minor tweak, the newer version of the compiler had a couple of extra really goodMike Buland
warnings. Of course, it said that a class with a copy constructor that also has one or more base classes should explicitly initialize the base classes in the copy constructor so nothing too suprising happens to you. I agree with this.
2008-09-24Added a getSubStr function to Bu::FString, and more tests to the fstring unitMike Buland
test.
2008-09-24Ok, now all the warnings are gone (except for those coming from nids, but that'sMike Buland
ok, nids is still in flux, they'll be gone soon).
2008-09-15Whoa! Loads of NIDS work. It actually compiles, runs, and I'm optimizing theMike Buland
hell out of it. Good times, everyone. This is a major chunk for congo, and the new optimizations should be good.
2008-09-15david - made precompiler not do wordexp stuff in expand function on win32 ↵David
targets... added buildMinGW.conf file for targeting win32... undef-d cpy macro in fstring
2008-09-11Fixed some whacky old FBasicString hikinx. Basically it supports all the basic,Mike Buland
expected operators now, like plus. It was annoying without them.
2008-09-04XML is important, I guess...Mike Buland
2008-02-07Just updated the copyright date.Mike Buland
2008-01-23Added a new helper to the Stream classes, a write function that takes a singleMike Buland
Bu::FString reference as a parameter. Unfortunately you need to remember to add "using Stream::write;" to each child class so they can take advantage of it. Strange, no? Also, cleaned up a bunch of header files, I'm trying to move towards headers only including other headers that they absolutely need, otherwise just creating forward decleration sections at the top of each.
2007-12-12Corrected some issues with the new trace system. It's now working fine. ↵Mike Buland
It's backword compatible, and the new features are a lot of fun. Since it uses template functions you can add any new variable types to be formatted.
2007-12-11Interum commit, fixing the bu directory.Mike Buland
2007-12-04Minor update to Bu::FString, it now always returns a valid C style string whenMike Buland
asked for the string, no null pointers anymore.
2007-11-30Added some helpers to fstring, and fixed a bug in Bu::Process, it wasn't closingMike Buland
the pipes properly, resulting in the child process going defunct and not dying, it also wasn't buffering properly, it now collects as much data as it can before returning from a read operation.
2007-11-24Alright, *now* remove works.Mike Buland
2007-11-23Ok, that was a strange bug...Mike Buland
2007-11-23Bu::FString now has insert and remove functions, yay!Mike Buland
2007-11-23Added the Process stream class, this will allow us to do some really cool stuffMike Buland
coming up...it's just like popen only cool and managed, and streamey.
2007-11-15david - adding license tag to the top of all header filesDavid
2007-11-08Bu::FString now has the functions format, formatAppend, and formatPrepend, allMike Buland
of which use printf style formatting and accept the same parameters as printf.
2007-11-01Just made some functions that are usable const labeled const so you can use themMike Buland
in const objects :-P
2007-10-20Just marked Bu::FString::c_str as deprecated, don't use it, it'll go away later.Mike Buland
2007-10-08More updates, I'll doc them later, http works, client is less picky.Mike Buland
2007-10-04Discovered that the Bu::Client::disconnect() function didn't do anything. ThatMike Buland
has been fixed, it now safely disconnects after emptying the Client's outgoing buffer. Added some more helpers to Bu::FString. Added the beginings of ProtocolHttp using a new method for processing protocols that's based more strongly on an NFA state machine, this makes sense, but I never had the desire to actually try implementing it before. It's working pretty well.
2007-09-04Added the Bu::FString::expand() function, which expands the string in placeMike Buland
using system variables and special tokens, such as ~name and ~/... I like this, and think that it's ample precedent for adding things like format(), formatAppend(), and formatPrepend(), which would all rock.
2007-08-14Fixed a crash in the FString::prepend function on a null string corner case.Mike Buland
Also added more tests to the FString unit tests and switched the ParamProc to using FString instead of std::string, this will break a few programs in very minor ways, a few seconds each to fix, I'd say.
2007-08-05Minor FString change.Mike Buland
2007-08-05Bu::Fstring doesn't give that stupid return warning anymore.Mike Buland
2007-07-18Incorporated a patch contributed by Brandon CS Sanders that allows libbu++ toMike Buland
compile under OSX. So far, no problems with anything else, it looks like build and nango both build without problems, libbu++ is truly becoming a full cross- platform toolkit.
2007-07-11Fixed a horrifying FString bug.Mike Buland
2007-07-10OK, this time I really fixed it so that it compares raw strings and FStringsMike Buland
the right way.
2007-07-10Updated the FString to const char * string comparison, it should work betterMike Buland
now, but some more testing needs to be done.
2007-07-10More FString updates, this one fixes the hashing and string comparison.Mike Buland
2007-07-10Fixed a bunch of stuff, I don't even know what...Mike Buland
2007-07-09Fixed a bug in a new constructor.Mike Buland
2007-07-09Removed the refconuting for now, it just copies the string. Obviously it isMike Buland
possible to make this much faster than I did, so I'll have to take another crack at it later.
2007-07-03Added an assignment operator to get data from comparable std::basic_stringMike Buland
classes.
2007-06-30For now we have no const char * cast operator on FString, ISO C++ says that weMike Buland
can't have that and an indexing operator. More research with other compilers needs to be done if we want to try just having the cast operator. I would rather be able to index than auto-cast.
2007-06-29A few changes here and there, mainly related to getting the new Server systemMike Buland
working in optimal condition...
2007-06-28The FString has more things that it can do...now.Mike Buland
2007-06-28Many minor changes, hopefully the header fixes will keep future header macroMike Buland
conflicts from happening. And, from now on, other projects should do -Ilibbu++ not -Ilibbu++/src so we can get ready for an installed version of libbu++.
2007-06-27More fstring stuff.Mike Buland
2007-06-27Added more functions to fstring, now it has isSet and a bool cast operator.Mike Buland
These allow you to see if there is anything set in the fstring.