13 template <
typename... ObservedValues>
32 observed.attachEvent(eventId);
35 if (
auto shared = observed.lock(); shared)
36 shared->attachEvent(eventId);
47 observed.attachOneshotEvent(eventId);
50 if (
auto shared = observed.lock(); shared)
51 shared->attachOneshotEvent(eventId);
62 observed.detachEvent(eventId);
65 if (
auto shared = observed.lock(); shared)
66 shared->detachEvent(eventId);
71 std::tuple<Detail::ObservedAddReference_t<ObservedValues>...>
const&
observedValues() &
76 std::tuple<Detail::ObservedAddReference_t<ObservedValues>...>&&
observedValues() &&
88 return observed.expired();
93 [isExpired](
auto const&... observed) {
94 return (isExpired(observed) || ...);
103 template <
typename... ObservedValues>
106 template <
typename RendererType,
typename... ObservedValues>
140 template <
typename RendererType,
typename... ObservedValues>
146 ObservedValueCombinatorWithGenerator;
157 template <
typename... ObservedValues>
164 template <
typename RendererType>
165 requires std::invocable<RendererType>
173 template <
typename RendererType>
174 requires std::invocable<RendererType>
182 template <
typename... ObservedValues>
185 template <
typename... ObservedValues>
189 template <
typename... ObservedValues>
195 std::forward<Detail::ObservedAddReference_t<ObservedValues>>(observedValues)...};
Definition observed_value_combinator.hpp:15
std::tuple< Detail::ObservedAddReference_t< ObservedValues >... > observedValues_
Definition observed_value_combinator.hpp:100
constexpr void attachOneshotEvent(auto eventId) const
Definition observed_value_combinator.hpp:41
std::tuple< Detail::ObservedAddReference_t< ObservedValues >... > const & observedValues() &
Definition observed_value_combinator.hpp:71
constexpr ObservedValueCombinatorBase(Detail::ObservedAddReference_t< ObservedValues > &&... observedValues)
Definition observed_value_combinator.hpp:17
std::tuple< Detail::ObservedAddReference_t< ObservedValues >... > && observedValues() &&
Definition observed_value_combinator.hpp:76
constexpr ObservedValueCombinatorBase(std::tuple< Detail::ObservedAddReference_t< ObservedValues >... > observedValues)
Definition observed_value_combinator.hpp:21
constexpr void attachEvent(auto eventId) const
Definition observed_value_combinator.hpp:26
bool isAnyExpired() const
Definition observed_value_combinator.hpp:81
constexpr void detachEvent(auto eventId) const
Definition observed_value_combinator.hpp:56
Definition observed_value_combinator.hpp:108
RendererType generator() const &
Definition observed_value_combinator.hpp:127
ObservedValueCombinator< ObservedValues... > split() &&
Definition observed_value_combinator.hpp:117
RendererType generator_
Definition observed_value_combinator.hpp:137
constexpr ObservedValueCombinatorWithGenerator(std::tuple< Detail::ObservedAddReference_t< ObservedValues >... > observedValues, RendererType generator)
Definition observed_value_combinator.hpp:110
RendererType generator() &&
Definition observed_value_combinator.hpp:131
constexpr auto value() const
Definition observed_value_combinator.hpp:122
Definition observed_value_combinator.hpp:143
ObservedValueCombinatorWithPropertyGenerator(ObservedValueCombinatorWithGenerator< RendererType, ObservedValues... > &&other)
Definition observed_value_combinator.hpp:147
Definition observed_value_combinator.hpp:159
constexpr ObservedValueCombinatorWithPropertyGenerator< RendererType, ObservedValues... > generateProperty(RendererType &&generator)
Definition observed_value_combinator.hpp:176
constexpr ObservedValueCombinatorWithGenerator< RendererType, ObservedValues... > generate(RendererType &&generator)
Definition observed_value_combinator.hpp:167
Definition observed_value.hpp:1540
Definition observed_value.hpp:1534
Definition observed_value.hpp:1538
typename ObservedAddReference< std::decay_t< T > >::type ObservedAddReference_t
Definition observed_value.hpp:1628
Definition file_dialog.hpp:6
ObservedValueCombinator< std::decay_t< Detail::ObservedAddReference_t< ObservedValues > >... > observe(ObservedValues &&... observedValues)
Definition observed_value_combinator.hpp:192
RendererType
Definition materialize.hpp:48
void tupleForEach(std::tuple< Types... > &t, FuncT &&func)
Definition tuple_for_each.hpp:18
Definition overloaded.hpp:7