BALL  1.4.1
predicate.h
Go to the documentation of this file.
00001 // -*- Mode: C++; tab-width: 2; -*-
00002 // vi: set ts=2:
00003 //
00004 
00005 #ifndef BALL_CONCEPT_PREDICATE_H
00006 #define BALL_CONCEPT_PREDICATE_H
00007 
00008 #ifndef BALL_COMMON_GLOBAL_H
00009 # include <BALL/COMMON/global.h>
00010 #endif
00011 
00012 #include <functional>
00013 
00014 namespace BALL 
00015 {
00016   using std::unary_function;
00017   using std::binary_function;
00018     
00024   
00027   template <typename T> 
00028   class UnaryPredicate 
00029     : public unary_function<T, bool> 
00030   {
00031     public:
00033     virtual ~UnaryPredicate() {}
00034 
00036     virtual bool operator() (const T& /* x */) const
00037       ;
00038   };
00039 
00042   template <typename T1, typename T2> 
00043   class BinaryPredicate 
00044     : public binary_function<T1, T2, bool> 
00045   {
00046     public:
00047 
00049     virtual bool operator() (const T1& x, const T2& y) const
00050       ;
00051 
00053     virtual ~BinaryPredicate() {}
00054   };
00055 
00056   template <typename T> 
00057   bool UnaryPredicate<T>::operator() (const T& /* x */) const
00058     
00059   {
00060     return true;
00061   }
00062 
00063   template <typename T1, typename T2> 
00064   bool BinaryPredicate<T1, T2>::operator() (const T1&, const T2&) const
00065     
00066   {
00067     return true;
00068   }
00070 } // namespace BALL
00071 
00072 
00073 #endif // BALL_CONCEPT_PREDICATE_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines