#include <pulp/timeline/command.hpp>#include <pulp/timeline/journal.hpp>#include <pulp/timeline/undo.hpp>#include <atomic>#include <cstddef>#include <cstdint>#include <limits>#include <memory>#include <optional>#include <type_traits>Go to the source code of this file.
Classes | |
| struct | pulp::timeline::SessionLimits |
| Resource ceilings for one mutable document session. More... | |
| struct | pulp::timeline::CommandAuthority |
| The authority one command requires, as a class and intent pair. More... | |
| struct | pulp::timeline::WriterCapabilityMask |
| Fixed authority of one writer over command classes and retained size. More... | |
| class | pulp::timeline::WriterToken |
| Move-only authority for submitting transactions to one DocumentSession. More... | |
| class | pulp::timeline::WriterToken::Provenance |
| Opaque identity of one writer authority within one document session. More... | |
| struct | pulp::timeline::DocumentView |
| Atomically observed immutable project snapshot and its matching revision. More... | |
| class | pulp::timeline::DocumentSession |
| Thread-safe owner of a revisioned Timeline document. More... | |
Namespaces | |
| namespace | pulp |
| namespace | pulp::timeline |
| namespace | pulp::timeline::detail |
Enumerations | |
| enum class | pulp::timeline::CommandClass : std::uint8_t { pulp::timeline::CommandClass::Clip , pulp::timeline::CommandClass::Note , pulp::timeline::CommandClass::Automation , pulp::timeline::CommandClass::Track , pulp::timeline::CommandClass::Take , pulp::timeline::CommandClass::Scene , pulp::timeline::CommandClass::Sequence , pulp::timeline::CommandClass::Device , pulp::timeline::CommandClass::Annotation , pulp::timeline::CommandClass::Timing , pulp::timeline::CommandClass::Asset } |
| The part of the document one command governs. More... | |
| enum class | pulp::timeline::CommandIntent : std::uint8_t { pulp::timeline::CommandIntent::Create , pulp::timeline::CommandIntent::Modify , pulp::timeline::CommandIntent::Remove } |
| What a command does to the entity its class names. More... | |
Functions | |
| template<class T> | |
| constexpr CommandAuthority | pulp::timeline::command_authority_of () noexcept |
| Returns the primary authority command type T requires. | |
| CommandAuthority | pulp::timeline::command_authority (const Command &command) noexcept |
| Returns the primary authority command requires. | |
| constexpr std::uint64_t | pulp::timeline::capability_bit (CommandAuthority authority) noexcept |
| Returns the single mask bit representing authority. | |
| constexpr bool | pulp::timeline::allows (const WriterCapabilityMask &mask, CommandAuthority authority) noexcept |
| Reports whether mask permits authority. | |
| constexpr WriterCapabilityMask | pulp::timeline::deny (WriterCapabilityMask mask, CommandClass command_class, CommandIntent intent) noexcept |
| Returns mask with one class/intent pair denied. | |
| constexpr WriterCapabilityMask | pulp::timeline::allow (WriterCapabilityMask mask, CommandClass command_class, CommandIntent intent) noexcept |
| Returns mask with one class/intent pair permitted. | |
| constexpr WriterCapabilityMask | pulp::timeline::unrestricted_capabilities () noexcept |
| Returns the legacy authority carried by writers registered without a mask. | |
| constexpr WriterCapabilityMask | pulp::timeline::non_destructive_capabilities () noexcept |
| Returns a mask permitting every class but denying every destructive intent. | |
Variables | |
| constexpr std::size_t | pulp::timeline::kCommandClassCount = 11 |
| Number of distinct command classes. | |
| constexpr std::size_t | pulp::timeline::kCommandIntentCount = 3 |
| Number of distinct command intents. | |
| template<class> | |
| constexpr bool | pulp::timeline::detail::unclassified_command_v = false |
| constexpr std::uint64_t | pulp::timeline::kAllCommandAuthorities |
| Every class/intent pair set. | |