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