template <typename T, typename Predicate, typename Operation>
void Foo(T& entity, Predicate pred, Operation op)
{
if (pred(entity))
{
op(entity);
}
// and blah
}
template <typename T, typename Predicate, typename Operation>
void Foo(const T& entity, Predicate pred, Operation op)
{
if (pred(entity))
{
op(entity);
}
// and blah
}
P.S.
T& entity + pred(const T& entity) + op(const T& entity) is acceptable.
const T& entity + pred(T& entity) + op(T& entity) should raise compile error.
Solutions using C++11 is ok.
Aucun commentaire:
Enregistrer un commentaire