C++ String Toolkit Library

[INTRODUCTION]
The C++ String Toolkit  Library (StrTk) consists of  robust, optimized
and portable string processing algorithms for the C++ language.  StrTk
is  designed to  be easy  to use  and integrate  within existing  code
bases. Furthermore the library has  a rich set of features  that makes
light work of any kind of string processing task.




[CAPABILITIES]
The StrTk library has the following capabilities:
 * Generic string tokenizer and token iterators
 * Fast Split routines
 * User specified delimiter and splitter policies (simple and regex based etc.)
 * Conversions between data and hex and base-64
 * In-place removal and replace routines
 * Wild-card matching and globbing
 * Search and Replace
 * Fast token grid and Comma Separated Values (CSV and DSV) processing
 * Extremely fast String to Integer, Double and other POD conversions
 * Extensible string processing templates and algorithms (eg: combinatorics and randomizations)
 * Prefix tree and Bloom filter structures for efficient string matching and testing
 * Fast and simple-to-use binary serialization
 * Seamless integration with STL and Boost
 * Easy to use wrappers of common string processing usage patterns
 * Single header file solution requires no installation or building




[COPYRIGHT NOTICE]
Free  use  of  the  String  Toolkit  Library  is  permitted  under the
guidelines and  in accordance  with the  most current  version of  the
MIT License.
http://www.opensource.org/licenses/MIT



[DOWNLOADS & UPDATES]
All updates  and the most recent version of the C++ String Toolkit can
be found at:
(1) http://www.partow.net/programming/strtk/index.html
(2) http://strtk.partow.net

Code repository:
https://github.com/ArashPartow/strtk



[INSTALLATION]
(1) strtk.hpp  should be  placed in  a project  or system include path
(e.g: /usr/include/).

(2) If the Boost libraries  (random, regex,  lexical_cast etc) are not
available  or  it  not  wished   they  be  used  then  the   following
preprocessor directive needs defining, either in code before strtk.hpp
is included or as a compiler switch:
   (*) strtk_no_tr1_or_boost

(3) It is advisable to have either Boost installed or a TR1  compliant
C++ standard library. Installation of Boost on:
(*) Win32  : http://www.boostpro.com/download
(*) Ubuntu : boost packages via apt-get or synaptic
(*) Fedora : yum -y install boost-devel
(*) http://www.boost.org/doc/libs/release/more/getting_started/index.html



[COMPILATION]
(1) For a complete build: make clean all
(2) For a PGO build: make clean pgo
(3) To strip executables: make strip_bin



[COMPILER COMPATIBILITY]
(*) GNU Compiler Collection (4.1+)
(*) Intel C++ Compiler (9.x+)
(*) Clang/LLVM (1.1+)
(*) PGI C++ (10.x+)
(*) Microsoft Visual Studio C++ Compiler (8.1+)
(*) IBM XL C/C++ (10.x+)
(*) C++ Builder (XE4+)



[FILES]
(00) Makefile
(01) readme.txt
(02) strtk.hpp
(03) strtk_bloom_filter_example.cpp
(04) strtk_combinations.cpp
(05) strtk_combinator_example.cpp
(06) strtk_converters_example.cpp
(07) strtk_examples.cpp
(08) strtk_glober.cpp
(09) strtk_hexview.cpp
(10) strtk_ipv4_parser.cpp
(11) strtk_keyvalue_example.cpp
(12) strtk_nth_combination_example.cpp
(13) strtk_numstats.cpp
(14) strtk_parse_test.cpp
(15) strtk_period_parser.cpp
(16) strtk_random_line.cpp
(17) strtk_randomizer.cpp
(18) strtk_search_trie_example.cpp
(19) strtk_serializer_example.cpp
(20) strtk_text_parser_example01.cpp
(21) strtk_text_parser_example02.cpp
(22) strtk_tokengrid_example.cpp
(23) strtk_tokenizer_cmp.cpp
(24) strtk_tokenizer_test.cpp
(25) strtk_wordfreq.cpp

