
  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

