8 #ifndef GuitPropList_hpp
9 #define GuitPropList_hpp
10 #include <forward_list>
19 using iterator = std::forward_list<gptr<GProp>>::iterator;
25 auto& list() {
return list_;}
26 const auto& list()
const {
return list_;}
28 bool empty()
const {
return list_.empty();}
30 iterator begin() {
return list_.begin();}
31 iterator before_begin() {
return list_.before_begin();}
32 iterator end() {
return list_.end();}
34 auto begin()
const {
return list_.begin();}
35 auto before_begin()
const {
return list_.before_begin();}
36 auto end()
const {
return list_.end();}
40 T* findProp()
const {
return dynamic_cast<T*
>(findProp(T::Class()));}
41 GProp* findProp(std::function<
bool(
GProp&)>& predicate)
const;
55 bool remove(
Gadget*, std::function<bool(GProp&)> pred);
72 std::forward_list<gptr<GProp>> list_;