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

HxTag.h

00001 /*
00002  *  Copyright (c) 2000, University of Amsterdam, The Netherlands.
00003  *  All rights reserved.
00004  *
00005  *
00006  *  Author(s):
00007  *  Edo Poll                (poll@wins.uva.nl)
00008  *  Marc Navarro            (mnavarro@wins.uva.nl)
00009  */
00010 
00011 #ifndef HxTag_h
00012 #define HxTag_h
00013 
00014 #include "HxStd.h"
00015 #include "HxIoFwd.h"
00016 #include "HxString.h"
00017 
00018 
00021 class L_HXBASIS HxTag {
00022 public:
00024                             HxTag(HxString name);
00025 
00027     virtual                 ~HxTag();
00028 
00030     virtual HxTag*          clone() const = 0;
00031 
00033     HxString                getName() const;
00034 
00036     virtual STD_OSTREAM&    put(STD_OSTREAM&) const = 0;
00037 
00038 protected:
00040                             HxTag(const HxTag&);
00041 private:
00042                             HxTag();
00043     HxString                _name;
00044 };
00045 
00046 inline STD_OSTREAM&
00047 operator<<(STD_OSTREAM& os, HxTag* tag)
00048 {
00049     return tag->put(os);
00050 }
00051 
00052 inline
00053 HxTag::HxTag()
00054 {
00055 }
00056 
00057 inline
00058 HxTag::HxTag(const HxTag& rhs)
00059     : _name(rhs._name)
00060 {
00061 }
00062 
00063 inline
00064 HxTag::HxTag(HxString name)
00065     : _name(name)
00066 {
00067 }
00068 
00069 inline HxString
00070 HxTag::getName() const
00071 {
00072     return _name;
00073 }
00074 
00075 #endif

Generated on Tue Feb 3 14:18:42 2004 for C++Reference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001