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.
Loading...
Searching...
No Matches
pod_concepts.h File Reference

Aggregated header for POD-related concepts under jh::concepts. More...

#include "jh/pods/pod_like.h"
#include "jh/pods/array.h"
#include "jh/pods/bits.h"
#include "jh/pods/bytes_view.h"
#include "jh/pods/span.h"
#include "jh/pods/stringify.h"

Go to the source code of this file.

Namespaces

namespace  jh::concepts
 Behavioral concept namespace of the JH Toolkit.

Variables

constexpr std::uint16_t jh::concepts::max_pod_array_bytes
 Maximum size of a POD array (16KB). This is a compile-time constant.
constexpr std::uint16_t jh::concepts::max_pod_bitflags_bytes
 Maximum allowed size of a POD bitflags structure: 4KB (4096 bytes).
template<typename C>
constexpr jh::pod::pair< data_status, len_status > jh::concepts::linear_status
 Precomputed linear-container classification result.

Detailed Description

Aggregated header for POD-related concepts under jh::concepts.

This header serves as the conceptual aggregation layer for all POD-system constraints and traits. It collects and re-exports concept definitions declared in jh/pods/ into the unified namespace jh::concepts.

#include <jh/conceptual/pod_concepts.h>

Design Rationale

Provides a lightweight conceptual interface for POD-related type traits without pulling in implementation details. The dependency direction remains one-way: jh/pods defines behavior, and jh/conceptual exposes corresponding concepts.

Included Components

  • pod_like, cv_free_pod_like
  • max_pod_array_bytes, max_pod_bitflags_bytes
  • trivial_bytes, linear_container, linear_status
  • streamable, streamable_pod

Structure Policy

The conceptual layer depends on jh/pods/ but not the reverse. This ensures jh/pod remains independently compilable while maintaining a clear semantic boundary between implementation and compile-time interfaces.