Skip to content

to-miz/tm

Repository files navigation

tm

Single-file libraries for C/C++ in public domain.

Current libraries

Library Desciption Language Current Version
tm_allocator.h An allocator collection for C++ C++17 v0.0.3
tm_arrayview.h Lightweight ArrayView and UninitializedArrayView classes for POD types, allows treating static arrays and memory regions like std containers with insertion/erase. No memory allocation/resizing, does not own memory. C++11 v1.2.0
tm_async.h Async library for single producer, multiple consumer asynchronous execution that uses an internal thread pool. Not yet first release, currently Windows only. C99/C++11 v.0.0.2
tm_bezier.h Calculate bezier curve points with forward differencing using only floating point addition. C99/C++ v1.1
tm_bin_packing.h C port with minor modifications of the Guillotine and MaxRects algorithms originally written by Jukka Jylänki (also public domain). C99/C++ v1.0.7
tm_cli.h Commandline parser that is similar to getopt_long, but doesn't rely on globals and very lightweight. C99/C++ v0.2.3
tm_conversion.h From and to string conversion library with minimal dependencies. C99/C++ v0.9.9.9
tm_hashmapx.h A hashmap implementation library using X-Macros for C99. The hashmap uses linear-probing and is power-of-two sized. C99 v.0.0.1
tm_json.h C++ and C99 json parsing library that can do both json reading and parsing into a json document for queries. Accepts a wide variety of flags, can be used to parse json in strict mode, or in json5 mode with the right combination of flags. C99/C++ v0.9.0
tm_polygon.h Triangulation and clipping of polygons. Clipping supports union, difference and substraction. C99/C++ v1.1
tm_print.h Lightweight typesafe variadic print and snprint using C++11 and variadic templates. C++11 v0.0.22
tm_resource_ptr.h This is a helper class to manage resources allocated by other tm libraries in a RAII manner similar to std::unique_ptr. C++11 v0.1.0
tm_small_vector.h Dynamic array container similar to STL <vector> with a template parameter for small buffer optimization. Uses a non customizable malloc allocator making use of realloc whenever possible. C++11 v0.0.8
tm_stringutil.h String utility functions, from matching, comparison to tokenizing. C99/C++ v0.9.3
tm_uint128.h A uint128 type with a couple of backends to choose. C99/C++11 v0.0.4
tm_unicode.h A Utf-8 everywhere library with Utf-8/Utf-16 conversion, caseless comparison and system call wrappers for cross platform windows/linux Utf-8 support. C99/C++ v0.9.3
tm_utility.h Utility and convenience functions, mainly for my personal use. C++11 v1.1.5
tm_xml.h An xml reader with no extra validation. Only UTF-8 xml documents, does perform unicode validity checks. C99/C++ v0.1.0

These libraries follow the same guidelines as stb. They have minimal dependencies and are dual licensed in both the public domain and MIT.

About

Single-file libraries for C/C++ in public domain

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published