microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
microfmt_compile.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Jarosław Pelczar <jarek@jpelczar.com>
2//
3// SPDX-License-Identifier: BSD-2-Clause
4
5#pragma once
6
43#if !defined(MICROFMT_SHARED_BUILD)
44#error \
45 "microfmt_compile.hpp is only meant for the translation unit that builds a MICROFMT_SHARED library -- define MICROFMT_SHARED and MICROFMT_SHARED_BUILD before including it (see microfmt/detail/compat.hpp)"
46#endif
47
48#include "microfmt.hpp"
49
50// Add further formatter headers here as they gain MICROFMT_SHARED support
51// (i.e. as soon as any of their entities switch from a plain `inline`
52// definition to MICROFMT_API + a sibling *.ipp file); consumers are
53// unaffected either way, since they only include what they actually use.
55#include "formatters/error.hpp"
59#include "formatters/semver.hpp"
60#include "formatters/styled.hpp"
61#include "formatters/uuid.hpp"
Named bitfield and register-value formatting views.
Escaped text and binary-buffer formatting views.
Direct and fault-checked memory hex-dump views.
Core formatting primitives, sinks, and customization point.
Format raw addresses and contiguous pointer ranges deterministically.
Semantic-version parsing and formatting types.
Zero-allocation text casing, quoting, truncation, and alignment view.
UUID formatting views and optional Boost.UUID support.