C++ Library for simplifying rapid code development across multiple platforms. Includes automatic resizing arrays, concepts of 'pipe'-ing IO between classes, filters, parsers, etc. Components supports development using TCP/IP client/server, HTTP, HTML, XML, MySQL client, Audio processing, CGI, AGI, etc.
From the README:
StG Template Library
Scott Griepentrog email@example.com 317-644-2228
PURPOSE:1) Rapid C++ Coding using a single cpp file for entire application
No makefiles necessary No precompiled headers No keeping track of multiple .cpp files No definitions (-DTHIS_THAT_AND_OTHER) No rewriting code over and over (move it into stglib) No researching best method for given task - s/b in library Result: elegant and small apps, easily written Side-effect: complexity of lib classes to keep flexibility Requirement: good documentation of class methods Easy to compile: - Linux/cygwin: g++ file.cpp -o file ; ./file
- Win32/msvc: create console app from existing code,
2) Multiple platforms supported without needing to change code
Linux (gcc) Windows (msvc6, msvc8) Borland (x86) Cygwin (gcc) Posix etc...
3) Easier stream or pipe style IO processing, including filters
StOpen file("file.txt"); file>>StdOutput; StOpen file("file.txt"); StFilterTextLine filter; file>>filter>>StdOutput;
4) All memory allocation dynamic, no buffer overflows, no size limits
StArray provides auto-resizing array StBuffer provides array of char, interacts with IO StString provides zero terminated string StBox provides containers with insert/del/sort/rnd/etc StPipe provides FIFO stream handling StFilter provides stream modification
5) Most classes inherit StBase class for common IO and Error handling
Error - integer error number ErrorString - descriptive error message Read() - unified method of reading bytes from class Write() - unified method of writing bytes to class and many other utility functions
6) Easily extensible by inheriting existing classes and overloading
These details are provided for information only. No information here is legal advice and should not be used as such.