algorithm.h

00001 //==========================================================================
00002 //
00003 //   algorithm.h 
00004 //
00005 //==========================================================================
00006 // $Id: algorithm.h,v 1.14 2003/03/24 15:58:54 raitner Exp $
00007 
00008 #ifndef GTL_ALGORITHM_H
00009 #define GTL_ALGORITHM_H
00010 
00011 #include <GTL/GTL.h>
00012 #include <GTL/graph.h>
00013 
00014 __GTL_BEGIN_NAMESPACE
00015 
00022 class GTL_EXTERN algorithm {
00023 public:
00039     enum {
00040         GTL_OK = 1,
00041         GTL_ERROR = 0
00042     };
00043 
00047     algorithm () { };
00048     
00052     virtual ~algorithm () { };    
00053 
00061     virtual int run (graph& g) = 0;
00062     
00074     virtual int check (graph& g) = 0;
00075     
00084     virtual void reset () = 0;
00085 };
00086 
00087 __GTL_END_NAMESPACE
00088 
00089 #endif // GTL_ALGORITHM_H
00090 
00091 //--------------------------------------------------------------------------
00092 //   end of file
00093 //--------------------------------------------------------------------------