![]() |
Audacity 3.2.0
|
Some implementation details for ClientData. More...
#include <memory>#include <mutex>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | ClientData::Lockable< Object, LockingPolicy > |
| Decorator template injects type Lock and method lock() into interface of Object. More... | |
| struct | ClientData::Lockable< Object, NoLocking > |
| Specialization for trivial, non-locking policy. More... | |
| struct | ClientData::Lockable< Object, NoLocking >::Lock |
| Empty class. More... | |
| struct | ClientData::Lockable< Object, NonrecursiveLocking > |
| Specialization for real locking with std::mutex. More... | |
| struct | ClientData::Lockable< Object, RecursiveLocking > |
| Specialization for real locking with std::recursive_mutex. More... | |
| struct | ClientData::Locked< Lockable > |
| Decorated reference to a ClientData::Lockable, with a current lock on it. More... | |
| struct | ClientData::Copyable< Container, CopyingPolicy > |
| Decorator template injects copy and move operators for container of pointers. More... | |
| struct | ClientData::Copyable< Container, SkipCopying > |
| Specialization that ignores contents of the source when copying (not when moving). More... | |
| struct | ClientData::Copyable< Container, ShallowCopying > |
| Specialization that copies pointers, not sub-objects; strong guarantee for assignment. More... | |
| struct | ClientData::Copyable< Container, DeepCopying > |
| Specialization that clones sub-objects when copying; strong guarantee for assignment. More... | |
Namespaces | |
| namespace | ClientData |
| Utility ClientData::Site to register hooks into a host class that attach client data. | |
Enumerations | |
| enum | ClientData::LockingPolicy { ClientData::NoLocking , ClientData::NonrecursiveLocking , ClientData::RecursiveLocking } |
| Statically specify whether there is mutual exclusion (separately for the table of factories, and for the per-host container of client objects). More... | |
| enum | ClientData::CopyingPolicy { ClientData::SkipCopying , ClientData::ShallowCopying , ClientData::DeepCopying } |
| Statically specify how the ClientData::Site implements its copy constructor and assignment. More... | |
Functions | |
| template<typename Ptr > | |
| static const Ptr & | ClientData::Dereferenceable (Ptr &p) |
| Conversion allowing operator * on any Pointer parameter of ClientData::Site. More... | |
| template<typename Obj > | |
| static std::shared_ptr< Obj > | ClientData::Dereferenceable (std::weak_ptr< Obj > &p) |
| Overload of ClientData::Dereferenceable returns an rvalue. More... | |
Some implementation details for ClientData.
Audacity: A Digital Audio Editor
Paul Licameli
Definition in file ClientDataHelpers.h.