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

HxPointZList.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  */
00009 
00010 // WARNING: under construction. Don't use!
00011 
00012 #ifndef HxPointZList_h
00013 #define HxPointZList_h
00014 
00015 #include "HxPointZ.h"
00016 #include <list>
00017 
00018 
00022 class HxPointZList : public std::list<HxPointZ>
00023 {
00024 public:
00026 
00028     HxPointZList&        operator<<(const HxPointZ&);
00029 
00031     void                eraseAll();
00032 };
00033 
00035 typedef HxPointZList::iterator              HxPointZListIter;
00037 typedef HxPointZList::const_iterator        HxPointZListConstIter;
00039 
00040 class HxPointZListBackInserter {
00041 public:
00042     typedef HxPointZList                container_type;
00043     typedef HxPointZList::value_type    value_type;
00044 
00045     explicit                    HxPointZListBackInserter(container_type& x);
00046                                 HxPointZListBackInserter(
00047                                     const HxPointZListBackInserter& rhs);
00048 
00049     HxPointZListBackInserter&   operator=(const value_type& val);
00050     HxPointZListBackInserter&   operator*();
00051     HxPointZListBackInserter&   operator++();
00052     HxPointZListBackInserter    operator++(int);
00053 
00054 protected:
00055     container_type&             container;
00056 };
00057 
00058 HxPointZListBackInserter::HxPointZListBackInserter(container_type& x)
00059     : container(x)
00060 {
00061 }
00062 
00063 HxPointZListBackInserter::HxPointZListBackInserter(
00064     const HxPointZListBackInserter& rhs)
00065     : container(rhs.container)
00066 {
00067 }
00068 
00069 HxPointZListBackInserter&
00070 HxPointZListBackInserter::operator=(const value_type& val)
00071 {
00072     container.push_back(val);
00073     return this;
00074 }
00075 
00076 HxPointZListBackInserter&
00077 HxPointZListBackInserter::operator*()
00078 {
00079     return this;
00080 }
00081 
00082 HxPointZListBackInserter&
00083 HxPointZListBackInserter::operator++()
00084 {
00085     return this;
00086 }
00087 
00088 HxPointZListBackInserter
00089 HxPointZListBackInserter::operator++(int)
00090 {
00091     return this;
00092 }
00093 
00094 
00095 inline HxPointZList&
00096 HxPointZList:: operator<<(const HxPointZ& s) // the space after :: is for DOC++
00097 {
00098     push_back(s);
00099     return *this;
00100 }
00101 
00102 inline void
00103 HxPointZList::eraseAll()
00104 {
00105     erase(begin(), end());
00106 }
00107 
00108 #endif

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