|
JH-Toolkit v1.4.1
An engineering-oriented C++20 toolkit with duck-typed concepts, static design, async coroutines, and semantic containers — header-only, RTTI-free, and concurrency-friendly.
|
| include | |
| jh | |
| asynchronous | |
| fiber.h | Coroutine-based fiber for modern C++20 |
| generator.h | Coroutine-based generator system for modern C++20 |
| slot.h | Coroutine-based asynchronous slot/listener/event_signal system with One-Slot-Per-Hub semantics, multi-listener fan-in, and user-controlled fan-out logic inside the slot coroutine |
| conceptual | |
| closable_container.h | Compile-time deduction of container closability — determining whether and how a container C can be directly constructed ("closed") from a range R |
| collectable_container.h | Compile-time deduction of collectable containers — determining whether and how a container C can accept elements of a range R through incremental, value-preserving insertion |
| container_traits.h | Unified deduction model for container element types |
| hashable.h | Unified hashing concept suite with semantic extension and ADL support |
| iterator.h | Forward declaration and duck-typed iterator concept definitions |
| mutex_like.h | Foundational synchronization concepts and reentrance traits |
| pod_concepts.h | Aggregated header for POD-related concepts under jh::concepts |
| range_traits.h | Generic range-related conceptual utilities and traits |
| sequence.h | Concept and utilities for immutable sequence detection in C++20 |
| tuple_like.h | Validation utilities for tuple-like traits, comprising structural detection of tuple-like semantics and strict matching for pair-like binary tuple structures |
| concurrent | |
| flat_pool.h | Key-based, contiguous, GC-like interning pool for copyable or movable objects |
| observe_pool.h | Top-level user-facing pool for content-based interning of immutable objects |
| occ_box.h | A generic container abstraction based on OCC (Optimistic Concurrency Control) |
| pointer_pool.h | Pointer-based interning for non-copyable, non-movable, structurally immutable objects |
| resource_pool.h | User-facing aliases for jh::conc::flat_pool with deduced hashing |
| core | |
| flat_multimap.h | Flat ordered multimap container |
| immutable_str.h | Immutable, thread-safe string with optional auto-trimming and dual-mode build support |
| ordered_map.h | Contiguous AVL-based ordered container with fragmentation-free semantics |
| runtime_arr.h | RAII-managed, non-resizable runtime array — a safe modern replacement for C99 VLA |
| macros | |
| header_begin.h | Macro setup for dual-mode headers (header-only / static) |
| header_end.h | Cleanup header for jh/macros/header_begin.h |
| platform.h | Base platform checks and macros for all modules |
| type_name.h | Compile-time type name extraction using compiler-specific macros |
| metax | |
| adl_apply.h | ADL-enabled universal tuple application utility — extends std::apply to arbitrary tuple-like structures, including user-defined proxies and view elements |
| base64.h | Compile-time Base64 and Base64URL codec for the jh::meta subsystem |
| char.h | Character-semantics concept and utilities — constexpr-safe character classification and transformation for 1-byte fundamental types |
| flatten_proxy.h | Tuple flattening utilities and proxy wrapper for nested tuple-like types |
| hash.h | Constexpr-safe, compile-time hash algorithms for meta utilities |
| lookup_map.h | Constexpr and runtime fixed-size hash lookup table |
| t_str.h | A C++20 compile-time string wrapper enabling string literals as non-type template parameters (NTTP) |
| variant_adt.h | ADT utilities for std::variant — compile-time checks and transformations |
| pods | |
| array.h | Implementation of jh::pod::array<T, N> |
| bits.h | POD-compatible fixed-size bitflag storage (jh::pod::bitflags<N>) |
| bytes_view.h | POD-safe minimal byte-range view with reinterpreting and cloning utilities |
| optional.h | POD-safe optional<T> with raw storage |
| pair.h | Implementation of jh::pod::pair<T1, T2> |
| pod_like.h | Definition of the pod_like concept and its cv-free constraint variant (cv_free_pod_like) |
| span.h | POD-safe minimal span for contiguous memory |
| string_view.h | POD-safe string_view with full constexpr semantics and consteval/runtime dual-path optimization |
| stringify.h | Stream output adapters (operator<<) for POD containers and utilities |
| tools.h | Macro-based POD helper utilities |
| tuple.h | Implementation of POD-compatible tuple, pair and array bindings |
| ranges | |
| views | |
| adapt.h | Range adaptor promoting jh::concepts::sequence to std::ranges::range |
| collect.h | Eager materialization adaptor — explicitly terminates a lazy range pipeline and realizes it into a concrete container C |
| range_adaptor.h | STL-compatible adapter for duck-typed sequences and iterators |
| to.h | Container adaptation adaptor — constructs a target container C directly from a compatible range R |
| vis_transform_view.h | Implementation of the jh::ranges::vis_transform_view class — a non-consuming, observation-oriented transformation view |
| zip_view.h | Internal implementation for jh::ranges::zip_view |
| serialize_io | |
| base64.h | High-level Base64 and Base64URL serialization interface for the JH Toolkit |
| huffman.h | High-performance Huffman encoder/decoder supporting both canonical and standard tree-based algorithms, with selectable symbol ranges (128 or 256) |
| uri.h | High-level URI percent-encoding and decoding interface for the JH Toolkit |
| synchronous | |
| ipc | |
| const_lock.h | Scope-based const-locking utility for mutex-like synchronization primitives |
| control_buf.h | Fixed-capacity control block container for non-copyable, non-movable types |
| ipc.h | Aggregated header for inter-process communication primitives under jh::sync |
| strong_lock.h | Strong ordering adapters for read-write mutex-like synchronization primitives |
| typing | |
| monostate.h | Trivial placeholder type monostate and its traits |
| null_mutex.h | Zero-cost semantic placeholder for mutex_like synchronization |
| async | Forward-aggregator header for jh::async |
| concepts | Forward-aggregator header for jh::concepts — the behavioral foundation layer of the JH Toolkit |
| concurrency | Forward-aggregator header for jh::conc |
| flat_multimap | Forwarding header for jh::flat_multimap |
| generator | Forwarding header for jh::generator |
| immutable_str | Forwarding header for jh::immutable_str |
| ipc | Forward-aggregator header for jh::ipc |
| jindallae | Symbolic umbrella header exposing jh::meta as jh::jindallae |
| meta | Forward-aggregator header for jh::meta |
| ordered_map | Forwarding header for jh::ordered_map and jh::ordered_set |
| pod | Forward-aggregator header for jh::pod — the Plain-Old-Data utilities |
| pool | Forward-aggregator header for all jh::*_pools |
| ranges_ext | Forward-aggregator header for jh::ranges extensions |
| runtime_arr | Forwarding header for jh::runtime_arr |
| serio | Forward-aggregator header for jh::serio — the Serialization I/O utilities |
| sync | Forward-aggregator header for jh::sync |
| typed | Forward-aggregator header for jh::typed |
| views | Forward-aggregator header for jh::views |