#ifndef PASTELSYS_DIRECTED_PREDICATE_HPP
#define PASTELSYS_DIRECTED_PREDICATE_HPP
#include "pastel/sys/predicate/directed_predicate.h"
namespace Pastel
{
template <typename Predicate>
class Directed_Predicate<Predicate, true>
{
public:
template <typename Left, typename Right>
bool operator()(const Left& left, const Right& right)
{
return Predicate()(left, right);
}
};
template <typename Predicate>
class Directed_Predicate<Predicate, false>
{
public:
template <typename Left, typename Right>
bool operator()(const Left& left, const Right& right)
{
return Predicate()(right, left);
}
};
}
#endif