microfmt
Zero-allocation C++ formatting for constrained environments
Loading...
Searching...
No Matches
Classes | Namespaces | Functions | Variables
cbor.hpp File Reference

Stream indefinite-length CBOR maps and arrays to a microfmt sink. More...

#include "../microfmt.hpp"
#include "../reloco.hpp"
#include <cstddef>
#include <cstdint>
#include <string_view>
#include <type_traits>
#include <utility>
Include dependency graph for cbor.hpp:

Go to the source code of this file.

Classes

struct  microfmt::cbor::cbor_map_view< Fn >
 
struct  microfmt::formatter< cbor::cbor_map_view< Fn > >
 

Namespaces

namespace  microfmt
 
namespace  microfmt::cbor
 
namespace  microfmt::cbor::detail
 

Functions

RELOCO_BEGIN_UNSAFE_CODE void microfmt::cbor::detail::encode_header (const sink &out, uint8_t major, uint64_t val) noexcept
 
class MICROFMT_API_CLASS microfmt::cbor::RELOCO_CONSUMABLE (unconsumed) RELOCO_POINTER map_writer
 RAII writer for an indefinite-length streaming CBOR map.
 
template<typename Fn >
constexpr auto microfmt::cbor::cbor_map (Fn &&fn) noexcept
 Wraps a map-writing callable for use as a format argument.
 

Variables

constexpr uint8_t microfmt::cbor::detail::MT_UNSIGNED = 0x00
 
constexpr uint8_t microfmt::cbor::detail::MT_NEGATIVE = 0x20
 
constexpr uint8_t microfmt::cbor::detail::MT_BYTES = 0x40
 
constexpr uint8_t microfmt::cbor::detail::MT_TEXT = 0x60
 
constexpr uint8_t microfmt::cbor::detail::MT_ARRAY = 0x80
 
constexpr uint8_t microfmt::cbor::detail::MT_MAP = 0xA0
 
constexpr uint8_t microfmt::cbor::detail::MT_SIMPLE = 0xE0
 
constexpr uint8_t microfmt::cbor::detail::BREAK_BYTE = 0xFF
 

Detailed Description

Stream indefinite-length CBOR maps and arrays to a microfmt sink.

Use map_writer and array_writer for scoped CBOR serialization, or cbor_map to embed a map-writing lambda in a format string.