|
Time Shield Library 2.0.0
C++ library for working with time
|
Public C++ headers use eight root umbrellas and eight owning domains:
include/time_shield.hpp is the full-library entrypoint. Root-level selective headers outside this umbrella set are not part of the public layout. Do not add forwarding headers or recreate removed root directories.
../ includes.detail/ headers inside their owning domain. Tests may include them as white-box implementation tests.TIME_SHIELD_ENABLE_NTP_CLIENT.The CMake architecture check is the executable contract for this policy. Run cmake -DTIME_SHIELD_SOURCE_DIR=<repo> -P cmake/check_header_include_policy.cmake after changing the layout or an include.
Follow docs/header-implementation-guidelines.md and agents/header-implementation-guidelines.md for .hpp, .ipp, and .tpp ownership. Every project-owned header starts with #pragma once and a project-prefixed, path-derived non-reserved guard. MQL headers use the MQL guard prefix described in the root guide.
Preserve the distinction between canonical, convenience, and opt-in legacy APIs. A short name is not legacy merely because a longer canonical name exists. Only historically superseded aliases belong in legacy_aliases.hpp, guarded by TIME_SHIELD_ENABLE_LEGACY_ALIASES.