mirror of
https://github.com/XRPLF/rippled.git
synced 2026-09-28 07:48:01 +00:00
Mirror holds a plain T when telemetry is compiled in and nothing at all when it is not. For a non-copyable T that means the class inherits T's deleted copy in one build and is an empty, freely copyable type in the other -- a per-configuration difference in the class's own interface, which is what these types exist to avoid, and a compile-time one rather than merely semantic. store() assigns to the member, so a copyable T is required regardless. Assert it in the class body so the requirement is enforced in both builds instead of being stated only in the @tparam text.