@@ -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*> )>
105105std::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*> )>
136136std::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