SimEdgeKernel.hGo to the documentation of this file.00001 #ifndef _SIMEDGEKERNEL_H
00002 #define _SIMEDGEKERNEL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifdef POLARIS_GNU_PRAGMAS
00024 #pragma interface
00025 #endif
00026
00027 enum SimilarityType { SIM_UNKNOWN,
00028 SIM_EQUIV,
00029 SIM_EQUIV_SEMI,
00030 SIM_DIM_EQUIV,
00031 SIM_DIM_EQUIV_SEMI,
00032 SIM_STRIDE_EQUIV,
00033 SIM_STRIDE_EQUIV_SEMI,
00034 SIM_NOT_SIMILAR,
00035 SIM_DIM_EQUIV_UP,
00036 SIM_STRIDE_EQUIV_UP };
00037
00038 #include "ClassNames.h"
00039 #include "Listable.h"
00040 #include "Array.h"
00041
00042 class SimEdgeKernel : public Listable {
00043
00044 protected:
00045 SimilarityType _type;
00046 Array<bool> * _spanmatch;
00047 Array<int> * _stridematch;
00048
00049 public:
00050 SimEdgeKernel( );
00051 ~SimEdgeKernel( );
00052
00053 SimilarityType type( ) const;
00054 void type( SimilarityType type );
00055
00056 void dump_in_match( SimilarityType, Array<int> * stride_match, Array<bool> * span_match );
00057
00058 void spanmatch( Array<bool> * match );
00059 void stridematch( Array<int> * match );
00060
00061 Array<bool> *spanmatch( ) const;
00062 Array<int> *stridematch( ) const;
00063
00064 char * type_name( ) const;
00065
00066
00067 virtual void print(ostream & o) const;
00068
00069 virtual SimEdgeKernel *clone() const;
00070 virtual Listable *listable_clone() const;
00071
00072 friend ostream & operator << (ostream & o, const SimEdgeKernel & ad);
00073 };
00074
00075 #endif
|