00001 /* 00002 * Copyright (c) 1998, University of Amsterdam, The Netherlands. 00003 * All rights reserved. 00004 * 00005 * 00006 * Author(s): 00007 * Dennis Koelma (koelma@wins.uva.nl) 00008 * Edo Poll (poll@wins.uva.nl) 00009 */ 00010 00013 #ifndef HxValueList_h 00014 #define HxValueList_h 00015 00016 #include "HxValue.h" 00017 #include <list> 00018 00019 00023 class HxValueList : public std::list<HxValue> 00024 { 00025 public: 00027 typedef std::back_insert_iterator<HxValueList> back_insert_iterator; 00028 00030 HxValueList& operator<<(const HxValue&); 00031 00033 void eraseAll(); 00034 }; 00035 00037 typedef HxValueList::iterator HxValueListIter; 00038 00040 typedef HxValueList::const_iterator HxValueListConstIter; 00041 00043 typedef HxValueList::back_insert_iterator HxValueListBackInserter; 00044 00045 00046 inline HxValueList& 00047 HxValueList:: operator<<(const HxValue& s) // the space after :: is for DOC++ 00048 { 00049 push_back(s); 00050 return *this; 00051 } 00052 00053 inline void 00054 HxValueList::eraseAll() 00055 { 00056 erase(begin(), end()); 00057 } 00058 00059 #endif