concept.h
Go to the documentation of this file.
00001 #ifndef EVAL_CONCEPT_H
00002 #define EVAL_CONCEPT_H
00003 
00004 #include "osl/player.h"
00005 #include <boost/concept_check.hpp>
00006 
00007 namespace osl
00008 {
00009   namespace eval
00010   {
00014     class EvaluationFunction
00015     {
00016     public:
00017       int getVal() const;
00018     };
00019 
00024     template <class T>
00025     struct Concept
00026     {
00031       void constraints() 
00032       {
00033         const int value  = eval.value();
00034         boost::ignore_unused_variable_warning(value);
00035         const int infty = T::infty();
00036         boost::ignore_unused_variable_warning(infty);
00037         const int capture_val = T::captureValue(ptypeo);
00038         boost::ignore_unused_variable_warning(capture_val);
00039       }
00040       T eval;
00041       PtypeO ptypeo;
00042     };
00043   } // namespace move_action
00044 } // namespace osl
00045 
00046 
00047 #endif /* EVAL_CONCEPT_H */
00048 // ;;; Local Variables:
00049 // ;;; mode:c++
00050 // ;;; c-basic-offset:2
00051 // ;;; End:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines