C++ String Toolkit Library

Overview
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

You might also like...
An open source standard C library that includes useful functions && (Reimplementation of libc functions + own functions).
An open source standard C library that includes useful functions && (Reimplementation of libc functions + own functions).

📖 LIBFT-42 : Artistic view of LIBC: 🎭 HOW DOES IT FEEL HAVING YOUR OWN LIB: SUBJECT : ENGLISH PDF ℹī¸ What is LIBFT : This project aims to code a C l

Single-header header-only C++11 / C++14 / C++17 library for easily managing set of auto-generated type-safe flags.
Single-header header-only C++11 / C++14 / C++17 library for easily managing set of auto-generated type-safe flags.

Single-header header-only C++11 / C++14 / C++17 library for easily managing set of auto-generated type-safe flags. Quick start #include bitflags/bitf

expected lite - Expected objects in C++11 and later in a single-file header-only library

expected lite: expected objects for C++11 and later expected lite is a single-file header-only library for objects that either represent a valid value

Guidelines Support Library

GSL: Guidelines Support Library The Guidelines Support Library (GSL) contains functions and types that are suggested for use by the C++ Core Guideline

gsl-lite – A single-file header-only version of ISO C++ Guidelines Support Library (GSL) for C++98, C++11, and later

gsl-lite: Guidelines Support Library for C++98, C++11 up metadata build packages try online gsl-lite is an implementation of the C++ Core Guidelines S

Your standard library for metaprogramming

Boost.Hana Your standard library for metaprogramming Overview #include boost/hana.hpp #include cassert #include string namespace hana = boost::h

C++11 metaprogramming library

Mp11, a C++11 metaprogramming library Mp11 is a C++11 metaprogramming library based on template aliases and variadic templates. It implements the appr

optional lite - A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library

optional lite: A single-file header-only version of a C++17-like optional, a nullable object for C++98, C++11 and later Contents Example usage In a nu

Range library for C++14/17/20, basis for C++20's std::ranges

range-v3 Range library for C++14/17/20. This code was the basis of a formal proposal to add range support to the C++ standard library. That proposal e

Compile-time String to Byte Array

STB Compile-time String to Byte Array. Why? You may ask, why'd you want to do this? Well, this is a common issue in the cheat development scene, where

cristei 8 May 7, 2022
Libft is an individual project at 42 that requires us to re-create some standard C library functions including some additional ones that can be used later to build a library of useful functions for the rest of the program.

?? Index What is Libft? List of Functions Technologies ✨ What is Libft? Libft is an individual project at 42 that requires us to re-create some standa

Paulo Rafael Ramalho 7 Jan 17, 2022
Library that simplify to find header for class from STL library.

Library that simplify to find header for class from STL library. Instead of searching header for some class you can just include header with the class name.

null 6 Jun 7, 2022
Thrust is a C++ parallel programming library which resembles the C++ Standard Library.

Thrust: Code at the speed of light Thrust is a C++ parallel programming library which resembles the C++ Standard Library. Thrust's high-level interfac

NVIDIA Corporation 4.3k Nov 19, 2022
jkds is a modern header-only C++20 library that complements the standard library.

jkds is a modern header-only C++20 library that complements the standard library. It provides generic atypical data structures, ergonomic functional programming abstractions, and then some.

Alberto Schiabel 6 Nov 16, 2022
Bionic BSD-3-ClauseBionic - Google's standard library, developed for Android. BSD-3-Clause

bionic bionic is Android's C library, math library, and dynamic linker. Using bionic as an app developer See the user documentation. Working on bionic

Android Open Source Project 561 Nov 24, 2022
CloudABI's standard C library

NOTE: This project is unmaintained CloudABI is no longer being maintained. It was an awesome experiment, but it never got enough traction to be sustai

Nuxi 275 Oct 30, 2022
libcu++: The C++ Standard Library for Your Entire System

libcu++, the NVIDIA C++ Standard Library, is the C++ Standard Library for your entire system. It provides a heterogeneous implementation of the C++ Standard Library that can be used in and between CPU and GPU code.

NVIDIA Corporation 2.1k Nov 20, 2022
D++ Extremely Lightweight C++ Discord Library

D++ An incredibly lightweight C++ Discord library This project is in alpha stages of development. Completed so far: Websocket connection with heartbea

brainbox.cc 547 Nov 22, 2022
EASTL stands for Electronic Arts Standard C++ Template Library

EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.

Electronic Arts 6.8k Nov 23, 2022