Clio  develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
util::Observable Concept Reference

Concept defining types that can be observed for changes. More...

#include <ObservableValue.hpp>

Concept definition

template<typename T>
concept util::Observable = std::equality_comparable<T> && std::copy_constructible<T> && std::move_constructible<T>
Concept defining types that can be observed for changes.
Definition ObservableValue.hpp:49

Detailed Description

Concept defining types that can be observed for changes.

A type is Observable if it satisfies all requirements for being stored and monitored in an ObservableValue container:

  • Must be equality comparable to detect changes
  • Must be copy constructible for capturing old values in guards
  • Must be move constructible for efficient value updates
Note
Copy assignment is intentionally not required since we use move semantics for value updates and only need copy construction for change detection.