1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
VSTRING Library
Copyright (c) 1996-2023 Vladi Belperchinov-Shabanski "Cade"
http://cade.noxrun.com/ <cade@noxrun.com> <cade@bis.bg> <cade@cpan.org>
Distributed under the GPL license, you should receive copy of GPLv2!
SEE 'README', 'LICENSE' OR 'COPYING' FILE FOR LICENSE AND OTHER DETAILS!
VSTRING library provides wide set of string manipulation features
including dynamic string object that can be freely exchanged with
standard char* (or wchar_t*) type, so there is no need to change
function calls nor the implementation when you change from
char* to VString (and from wchar_t* to WString).
The main difference from other similar libs is that the dynamic
VString/WString class has no visible methods (except operators)
so you will use it as a plain char*/wchar_t* but it will
expand/shrink as needed.
If you find bug or you have note about vstring lib, please feel
free to contact me.
VSTRING part (vstring.h and vstring.cpp) implements plain string-only
manipulations:
char* -- functions to manipulate in-memory string buffers
VString -- dynamic char* string, which resizes automatically
WSTRING part (wstring.h and wstring.cpp) implements wide char (wchar_t*)
string manipulations:
wchar_t* -- functions to manipulate in-memory string buffers
WString -- wide char (wchar_t*) unicode strings
VSTRLIB/WSTRLIB part (vstrlib.h and vstrlib.cpp, wstrlib.h and wstrlib.cpp)
provide string data structures which mimic Perl's. There are several classes:
VArray -- array of VString elements
WArray -- array of WString elements
VTrie -- associative array (hash) of VString elements
WTrie -- associative array (hash) of WString elements
VRegexp -- regular expression helper class
WRegexp -- regular expression helper class (wide VS_CHAR)
All classes use shallow copy and copy-on-write functionality,
so things like str1 = str2, varray1 = varray2 etc. are cheap and fast :)
usage:
include char* support:
#include <vstring.h>
#include <vstrlib.h>
include wchar_t* support:
#include <wstring.h>
#include <wstrlib.h>
include both char* and wchar_t* support:
#include <vstring.h>
#include <vstrlib.h>
#include <wstring.h>
#include <wstrlib.h>
usage:
compile & link:
g++ -I/path/to/vstring ...
ld -L/path/to/vstring -lvstring
If you find bug or you have note about vstring lib, please feel
free to contact me at:
Vladi Belperchinov-Shabanski "Cade"
<cade@noxrun.com> <cade@bis.bg> <cade@cpan.org>
http://cade.noxrun.bg/projects/vstring/
https://github.com/cade-vs/vstring
|