1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| #pragma once
|
| #include "utils/NonCopyable.h"
|
| namespace il2cpp
| {
| namespace utils
| {
| namespace functional
| {
| struct TrueFilter
| {
| template<typename T>
| inline bool operator()(const T& item) const
| {
| return true;
| }
| };
|
| template<typename ItemType, typename Comparer>
| struct Filter : NonCopyable
| {
| private:
| ItemType m_Item;
| Comparer m_Comparer;
|
| public:
| Filter(ItemType item, Comparer comparer = Comparer()) :
| m_Item(item), m_Comparer(comparer)
| {
| }
|
| template<typename T>
| inline bool operator()(const T& item) const
| {
| return m_Comparer(m_Item, item);
| }
| };
| } // functional
| } // utils
| } // il2cpp
|
|