Horus Doc || C++ Reference || Class Overview   Pixels   Images   Detector   Geometry   Registry || Doxygen's quick Index  

HxCategories.h

00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *  Author(s):
00006  *  Edo Poll                (poll@wins.uva.nl)
00007  *  Dennis Koelma           (koelma@wins.uva.nl)
00008  */
00009 
00010 #ifndef HxCategories_h
00011 #define HxCategories_h
00012 
00013 #include "HxString.h"
00014 #include "HxClassName.h"
00015 
00016 /*
00017 Definition of the various kind of tag types.
00018 */
00019 
00020 // PhaseCategory
00021 
00023 struct HxTag1Phase {
00025     HxString    toString() { return "1 phase"; }
00026 };
00027 
00029 struct HxTag2Phase {
00031     HxString    toString() { return "2 phase"; }
00032 };
00033 
00035 struct HxTagNPhase {
00037     HxString    toString() { return "N phase"; }
00038 };
00039 
00040 
00041 // TransVarianceCategory
00042 
00044 struct HxTagTransVar {
00046     HxString    toString() { return "Translation variant"; }
00047 };
00048 
00050 struct HxTagTransInVar {
00052     HxString    toString() { return "Translation invariant"; }
00053 };
00054 
00055 
00056 // DirectionCategory
00057 
00059 struct HxTagPixOpIn {
00061     HxString    toString() { return "In"; }
00062 };
00063 
00065 struct HxTagPixOpOut {
00067     HxString    toString() { return "Out"; }
00068 };
00069 
00070 
00071 // IteratorCategory
00072 
00074 struct HxTagCnum {
00076     HxString    toString() { return "Coordinate enumerated"; }
00077 };
00078 
00080 struct HxTagLoop {
00082     HxString    toString() { return "Loop"; }
00083 };
00084 
00085 
00086 // Miscellanious predicates
00087 
00088 template<class T>
00089 class HxPixOpMakeName {
00090 public:
00091                 HxPixOpMakeName(HxString name);
00092                 operator HxString() { return _name; }
00093 private:
00094     HxString    _name;
00095 };
00096 
00097 template<class T>
00098 inline
00099 HxPixOpMakeName<T>::HxPixOpMakeName(HxString name)
00100     : _name(name)
00101 {
00102     _name += "<";
00103     _name += HxClassName<T>();
00104     _name += ">";
00105 }
00106 
00107 #endif

Generated on Mon Jan 27 15:48:41 2003 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001