Skip to content

Commit 8a467bc

Browse files
committed
restore
1 parent b2f81a3 commit 8a467bc

File tree

1 file changed

+20
-20
lines changed

1 file changed

+20
-20
lines changed

lib/findtoken.h

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ inline std::vector<MathLib::bigint> evaluateKnownValues(const Token* tok)
4141
return {tok->getKnownIntValue()};
4242
}
4343

44-
template<class T, class Found, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
45-
void findTokensImpl(T* start, const Token* end, const std::function<bool(const Token*)>& pred, Found found)
44+
template<class T, class Predicate, class Found, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
45+
void findTokensImpl(T* start, const Token* end, const Predicate& pred, Found found)
4646
{
4747
for (T* tok = start; precedes(tok, end); tok = tok->next()) {
4848
if (pred(tok)) {
@@ -52,8 +52,8 @@ void findTokensImpl(T* start, const Token* end, const std::function<bool(const T
5252
}
5353
}
5454

55-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
56-
std::vector<T*> findTokens(T* start, const Token* end, const std::function<bool(const Token*)>& pred)
55+
template<class T, class Predicate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
56+
std::vector<T*> findTokens(T* start, const Token* end, const Predicate& pred)
5757
{
5858
std::vector<T*> result;
5959
findTokensImpl(start, end, pred, [&](T* tok) {
@@ -63,8 +63,8 @@ std::vector<T*> findTokens(T* start, const Token* end, const std::function<bool(
6363
return result;
6464
}
6565

66-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
67-
T* findToken(T* start, const Token* end, const std::function<bool(const Token*)>& pred)
66+
template<class T, class Predicate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
67+
T* findToken(T* start, const Token* end, const Predicate& pred)
6868
{
6969
T* result = nullptr;
7070
findTokensImpl(start, end, pred, [&](T* tok) {
@@ -101,12 +101,12 @@ bool findTokensSkipDeadCodeImpl(const Library& library,
101101
const std::function<std::vector<MathLib::bigint>(const Token*)>& evaluate,
102102
bool skipUnevaluated);
103103

104-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
104+
template<class T, class Predicate, class Evaluate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
105105
std::vector<T*> findTokensSkipDeadCode(const Library& library,
106106
T* start,
107107
const Token* end,
108-
const std::function<bool(const Token*)>& pred,
109-
const std::function<std::vector<MathLib::bigint>(const Token*)>& evaluate)
108+
const Predicate& pred,
109+
const Evaluate& evaluate)
110110
{
111111
std::vector<T*> result;
112112

@@ -126,18 +126,18 @@ std::vector<T*> findTokensSkipDeadCode(const Library& library,
126126
return result;
127127
}
128128

129-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
130-
std::vector<T*> findTokensSkipDeadCode(const Library& library, T* start, const Token* end, const std::function<bool(const Token*)>& pred)
129+
template<class T, class Predicate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
130+
std::vector<T*> findTokensSkipDeadCode(const Library& library, T* start, const Token* end, const Predicate& pred)
131131
{
132132
return findTokensSkipDeadCode(library, start, end, pred, &evaluateKnownValues);
133133
}
134134

135-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
135+
template<class T, class Predicate, class Evaluate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
136136
std::vector<T*> findTokensSkipDeadAndUnevaluatedCode(const Library& library,
137137
T* start,
138138
const Token* end,
139-
const std::function<bool(const Token*)>& pred,
140-
const std::function<std::vector<MathLib::bigint>(const Token*)>& evaluate)
139+
const Predicate& pred,
140+
const Evaluate& evaluate)
141141
{
142142
std::vector<T*> result;
143143

@@ -157,15 +157,15 @@ std::vector<T*> findTokensSkipDeadAndUnevaluatedCode(const Library& library,
157157
return result;
158158
}
159159

160-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
161-
std::vector<T*> findTokensSkipDeadAndUnevaluatedCode(const Library& library, T* start, const Token* end, const std::function<bool(const Token*)>& pred)
160+
template<class T, class Predicate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
161+
std::vector<T*> findTokensSkipDeadAndUnevaluatedCode(const Library& library, T* start, const Token* end, const Predicate& pred)
162162
{
163163
return findTokensSkipDeadAndUnevaluatedCode(library, start, end, pred, &evaluateKnownValues);
164164
}
165165

166166

167-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
168-
T* findTokenSkipDeadCode(const Library& library, T* start, const Token* end, const std::function<bool(const Token*)>& pred, const std::function<std::vector<MathLib::bigint>(const Token*)>& evaluate)
167+
template<class T, class Predicate, class Evaluate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
168+
T* findTokenSkipDeadCode(const Library& library, T* start, const Token* end, const Predicate& pred, const Evaluate& evaluate)
169169
{
170170
T* result = nullptr;
171171

@@ -186,8 +186,8 @@ T* findTokenSkipDeadCode(const Library& library, T* start, const Token* end, con
186186
return result;
187187
}
188188

189-
template<class T, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
190-
T* findTokenSkipDeadCode(const Library& library, T* start, const Token* end, const std::function<bool(const Token*)>& pred)
189+
template<class T, class Predicate, REQUIRES("T must be a Token class", std::is_convertible<T*, const Token*> )>
190+
T* findTokenSkipDeadCode(const Library& library, T* start, const Token* end, const Predicate& pred)
191191
{
192192
return findTokenSkipDeadCode(library, start, end, pred, &evaluateKnownValues);
193193
}

0 commit comments

Comments
 (0)