acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
acme.h
1//
2// Created by camilo on 2022-10-22 18:39 <3ThomasBorregaardSorensen!!
3//
4#pragma once
5
6
7
8//namespace
9
10template < typename TYPE >
11inline auto deref(const TYPE & t) { return typename TYPE::CONTAINER::dereferenced_iterator(t.item(), t.container()); }
12
13
14
15
16
17
18//template < typename CONTAINER, typename PAYLOAD >
19//inline bool contains_payload(const CONTAINER & container, const PAYLOAD & payload)
20//{
21//
22// for (auto & item : container)
23// {
24//
25// if (item.load() == payload)
26// {
27//
28// return true;
29//
30// }
31//
32// }
33//
34// return false;
35//
36//}
37//
38//
39//template < typename CONTAINER, typename PAYLOAD, typename START >
40//inline auto find_payload(const CONTAINER & container, const PAYLOAD & payload, const START & start)
41//{
42//
43// auto p = start;
44//
45// for(; p; p++)
46// {
47//
48// if(::payload_of(*p) == payload)
49// {
50//
51// return p;
52//
53// }
54//
55// }
56//
57// return p;
58//
59//}
60//
61//
62//template < typename CONTAINER, typename PAYLOAD >
63//inline auto find_payload(const CONTAINER & container, const PAYLOAD & payload)
64//{
65//
66// return find_payload(container, payload, ((CONTAINER &)container).begin());
67//
68//}
69//
70//
71//template < typename CONTAINER, typename PAYLOAD >
72//inline bool erase_payload(CONTAINER & container, const PAYLOAD & payload)
73//{
74//
75// auto p = find_payload(container, payload);
76//
77// if (!p)
78// {
79//
80// return false;
81//
82// }
83//
84// container.erase(p);
85//
86// return true;
87//
88//}
89
90
91//template < typename ITERATOR >
92//void delete_erase(ITERATOR & iterator)
93//{
94//
95// auto p = iterator.operator->();
96//
97// ::acme::del(p);
98//
99// ::erase(iterator);
100//
101//}
102
103
104//template < typename ITERATOR >
105//void erase(ITERATOR & iterator)
106//{
107//
108// iterator.m_pcontainer->erase_item(iterator.item());
109//
110//}
111
112
113
114
115
116