tlx is a collection of C++ helpers and extensions universally needed, but not found in the STL.The most important design goals and conventions are:
- high modularity with as little dependencies between modules as possible.
- attempt to never break existing interfaces.
- compile on all platforms with C++ – smartphones, supercomputers, windows, etc.
- zero external dependencies: no additional libraries are required.
- warning and bug-freeness on all compilers.
- keep overhead down – small overall size such that is can be included without bloating applications.
--->> Doxygen Documentation <<---
CountingPtr– an intrusive reference counting pointerdie()- Simple Invariant Testing :die(),die_unless(),die_if(),die_unequal().- logger.hpp :
LOG,LOG1,LOGC,sLOG. - Miscellaneous:
unused(),vector_free(). - Algorithms :
merge_combine(),exclusive_scan(),multiway_merge(),parallel_multiway_merge(),multisequence_selection(),multisequence_partition(). - Data Structures :
RingBuffer,SimpleVector, B+ Trees, Loser Trees,RadixHeap,(Addressable) D-Ary Heap - Defines and Macros :
TLX_LIKELY,TLX_UNLIKELY,TLX_ATTRIBUTE_PACKED,TLX_ATTRIBUTE_ALWAYS_INLINE,TLX_ATTRIBUTE_FORMAT_PRINTF,TLX_DEPRECATED_FUNC_DEF. - Message Digests :
MD5,md5_hex(),SHA1,sha1_hex(),SHA256,sha256_hex(),SHA512,sha512_hex(). - Math Functions :
integer_log2_floor(),is_power_of_two(),round_up_to_power_of_two(),round_down_to_power_of_two(),ffs(),clz(),abs_diff(),bswap32(),bswap64(),popcount(),Aggregate,PolynomialRegression. - String Algorithms :
starts_with(),ends_with(),contains(),contains_word(),trim(),replace_all(),erase_all(),join(),split(),split_words(),union_words(),split_quoted(),join_quoted(),to_lower(),hexdump(),word_wrap(),escape_html(),parse_si_iec_units(),format_iec_units(),ssprintf(),expand_environment_variables(),levenshtein(),hash_djb2(),hash_sdbm(). - Meta-Template Programming :
call_foreach(),apply_tuple(),vmap_foreach(),Log2Floor,FunctionChain,FunctionStack,is_std_pair,is_std_tuple,is_std_vector,is_std_array,TLX_MAKE_HAS_MEMBER. - Sorting Algorithms :
sort_strings()(using radix sort and multikey quicksort),parallel_mergesort()(experimental parallel mergesort from MCSTL). - Backtrace Printing :
print_cxx_backtrace(). - Command Line Parsing :
CmdlineParser. - Fast Delegates :
Delegate- a betterstd::function<>replacement. - SipHash : simple string hashing
siphash() - StackAllocator : stack-local allocations
- Threading :
ThreadPool,Semaphore.