7 template <
typename ContainerT>
15 : container_{&container}
24 requires(std::is_const_v<ContainerT>)
26 return container_->begin();
30 requires(std::is_const_v<ContainerT>)
32 return container_->end();
36 requires(!std::is_const_v<ContainerT>)
38 return container_->begin();
42 requires(!std::is_const_v<ContainerT>)
44 return container_->end();
48 ContainerT* container_;
51 template <
typename ContainerT>
59 : container_{std::move(container)}
68 requires(std::is_const_v<ContainerT>)
70 return container_.lock()->begin();
74 requires(std::is_const_v<ContainerT>)
76 return container_.lock()->end();
80 requires(!std::is_const_v<ContainerT>)
82 return container_.lock()->begin();
86 requires(!std::is_const_v<ContainerT>)
88 return container_.lock()->end();
92 std::weak_ptr<ContainerT> container_;
95 template <
typename ContainerT>
103 : container_{std::move(container)}
112 requires(std::is_const_v<ContainerT>)
114 return container_->begin();
118 requires(std::is_const_v<ContainerT>)
120 return container_->end();
124 requires(!std::is_const_v<ContainerT>)
126 return container_->begin();
130 requires(!std::is_const_v<ContainerT>)
132 return container_->end();
136 std::shared_ptr<ContainerT> container_;
140 template <
typename ContainerT>
144 template <
typename ContainerT>
~IteratorAccessor()=default
IteratorType begin() const requires(!std
Definition: iterator_accessor.hpp:123
ConstIteratorType begin() const requires(std
Definition: iterator_accessor.hpp:111
IteratorAccessor & operator=(IteratorAccessor const &)=default
ConstIteratorType end() const requires(std
Definition: iterator_accessor.hpp:117
IteratorAccessor(std::weak_ptr< ContainerT > container)
Definition: iterator_accessor.hpp:102
typename ContainerT::iterator IteratorType
Definition: iterator_accessor.hpp:99
IteratorAccessor(IteratorAccessor &&)=default
IteratorAccessor & operator=(IteratorAccessor &&)=default
IteratorAccessor(IteratorAccessor const &)=default
IteratorType end() const requires(!std
Definition: iterator_accessor.hpp:129
typename ContainerT::const_iterator ConstIteratorType
Definition: iterator_accessor.hpp:100
IteratorAccessor(IteratorAccessor const &)=default
~IteratorAccessor()=default
IteratorType end() const requires(!std
Definition: iterator_accessor.hpp:85
typename ContainerT::const_iterator ConstIteratorType
Definition: iterator_accessor.hpp:56
IteratorType begin() const requires(!std
Definition: iterator_accessor.hpp:79
ConstIteratorType end() const requires(std
Definition: iterator_accessor.hpp:73
IteratorAccessor(IteratorAccessor &&)=default
IteratorAccessor(std::weak_ptr< ContainerT > container)
Definition: iterator_accessor.hpp:58
IteratorAccessor & operator=(IteratorAccessor &&)=default
typename ContainerT::iterator IteratorType
Definition: iterator_accessor.hpp:55
IteratorAccessor & operator=(IteratorAccessor const &)=default
ConstIteratorType begin() const requires(std
Definition: iterator_accessor.hpp:67
Definition: iterator_accessor.hpp:9
ConstIteratorType begin() const requires(std
Definition: iterator_accessor.hpp:23
IteratorAccessor(ContainerT &container)
Definition: iterator_accessor.hpp:14
typename ContainerT::iterator IteratorType
Definition: iterator_accessor.hpp:11
ConstIteratorType end() const requires(std
Definition: iterator_accessor.hpp:29
typename ContainerT::const_iterator ConstIteratorType
Definition: iterator_accessor.hpp:12
IteratorType begin() const requires(!std
Definition: iterator_accessor.hpp:35
~IteratorAccessor()=default
IteratorAccessor(IteratorAccessor const &)=default
IteratorAccessor & operator=(IteratorAccessor const &)=default
IteratorAccessor & operator=(IteratorAccessor &&)=default
IteratorType end() const requires(!std
Definition: iterator_accessor.hpp:41
IteratorAccessor(IteratorAccessor &&)=default
Definition: file_dialog.hpp:6
IteratorAccessor(ContainerT const &) -> IteratorAccessor< const ContainerT >
requires(IsObservedLike< ObservedValues > &&...) ObservedValueCombinator< std
Definition: observed_value_combinator.hpp:191