src/functional.h

changeset 106
128efb9d148b
parent 63
f7dd937667a5
child 123
e3fe3617b631
equal deleted inserted replaced
105:6ca6e8c647d4 106:128efb9d148b
155 result.reserve(std::end(container) - std::begin(container)); 155 result.reserve(std::end(container) - std::begin(container));
156 std::transform(std::begin(container), std::end(container), makeDefaultInserter(result), function); 156 std::transform(std::begin(container), std::end(container), makeDefaultInserter(result), function);
157 return result; 157 return result;
158 } 158 }
159 } 159 }
160
161 template<typename T, typename Fn>
162 bool any(T&& container, Fn&& f)
163 {
164 for (auto&& x : container)
165 {
166 if (f(x))
167 {
168 return true;
169 }
170 }
171 return false;
172 }
173
174 template<typename T, typename Fn>
175 bool all(T&& container, Fn&& f)
176 {
177 for (auto&& x : container)
178 {
179 if (not f(x))
180 {
181 return false;
182 }
183 }
184 return true;
185 }

mercurial