TLX - A Collection of Sophisticated C++ Data Structures, Algorithms, and Miscellaneous Helpers
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:
—>> Doxygen Documentation <<—
CountingPtr
– an intrusive reference counting pointerdie()
- Simple Invariant Testing : die()
, die_unless()
, die_if()
, die_unequal()
.LOG
, LOG1
, LOGC
, sLOG
, wrap_unprintable()
.timestamp()
, unused()
, vector_free()
.merge_combine()
, exclusive_scan()
, multiway_merge()
, parallel_multiway_merge()
, multisequence_selection()
, multisequence_partition()
.RingBuffer
, SimpleVector
, StringView
, B+ Trees, Loser Trees, RadixHeap
, (Addressable) D-Ary Heap
TLX_LIKELY
, TLX_UNLIKELY
, TLX_ATTRIBUTE_PACKED
, TLX_ATTRIBUTE_ALWAYS_INLINE
, TLX_ATTRIBUTE_FORMAT_PRINTF
, TLX_DEPRECATED_FUNC_DEF
.MD5
, md5_hex()
, SHA1
, sha1_hex()
, SHA256
, sha256_hex()
, SHA512
, sha512_hex()
.integer_log2_floor()
, is_power_of_two()
, round_up_to_power_of_two()
, round_down_to_power_of_two()
, ffs()
, clz()
, ctz()
, abs_diff()
, bswap32()
, bswap64()
, popcount()
, power_to_the
, Aggregate
, PolynomialRegression
.starts_with()
, ends_with()
, contains()
, contains_word()
, trim()
, replace_all()
, erase_all()
, join()
, split()
, split_view()
, split_words()
, union_words()
, split_quoted()
, join_quoted()
, to_lower()
, hexdump()
, bitdump_le8()
, word_wrap()
, escape_html()
, parse_uri()
, parse_uri_form_data()
, parse_si_iec_units()
, format_iec_units()
, ssprintf()
, expand_environment_variables()
, levenshtein()
, hash_djb2()
, hash_sdbm()
.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
.parallel_mergesort()
(experimental parallel merge sort from MCSTL), sort_strings()
(using radix sort and multikey quicksort), sort_strings_parallel()
(using parallel super scalar string sample sort), sorting network for up to sixteen elements.print_cxx_backtrace()
.CmdlineParser
.MultiTimer
, ScopedMultiTimerSwitch
, ScopedMultiTimer
.Delegate
- a better std::function<>
replacement.siphash()
ThreadPool
, Semaphore
, ThreadBarrierMutex
, ThreadBarrierSpin
.Please report bugs via the github issue tracking system.
tlx is licensed under the Boost Software License - Version 1.0.
If you use tlx in an academic context or publication, please cite it as
@Misc{TLX,
title = {{TLX}: Collection of Sophisticated {C++} Data Structures, Algorithms, and Miscellaneous Helpers},
author = {Timo Bingmann},
year = 2018,
note = {\url{https://panthema.net/tlx}, retrieved {Oct.} 7, 2020},
}