Pulp 1.88.0
Cross-platform audio plugin framework
Loading...
Searching...
No Matches
view_lifecycle.hpp
Go to the documentation of this file.
1#pragma once
2
31
32namespace pulp::view {
33
34class View;
35
57public:
60 enum class Drain {
72 };
73
74 explicit DispatchLease(View& view, Drain drain = Drain::at_exit) noexcept;
76
77 DispatchLease(const DispatchLease&) = delete;
81
84 View* root() const noexcept { return root_; }
85
86private:
87 View* view_ = nullptr;
88 View* root_ = nullptr;
89 Drain drain_ = Drain::at_exit;
90};
91
92} // namespace pulp::view
DispatchLease & operator=(const DispatchLease &)=delete
DispatchLease(View &view, Drain drain=Drain::at_exit) noexcept
View * root() const noexcept
The root whose gate this lease raised.
Definition view_lifecycle.hpp:84
DispatchLease & operator=(DispatchLease &&)=delete
Drain
When the outermost lease on a tree is released, is it safe to destroy what was retired during the pas...
Definition view_lifecycle.hpp:60
@ deferred
No.
Definition view_lifecycle.hpp:71
@ at_exit
Yes.
Definition view_lifecycle.hpp:64
DispatchLease(DispatchLease &&)=delete
DispatchLease(const DispatchLease &)=delete
Definition view.hpp:73
Hover-cursor tracking for platform window hosts.
Definition fwd.hpp:27