Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

PMInserter.h

Go to the documentation of this file.
00001 #ifndef _PMINSERTER_H
00002 #define _PMINSERTER_H
00003 
00005 template<typename T>
00006 class PMInserter
00007 {
00008     public:
00009         PMInserter() {}
00010 
00011         virtual ~PMInserter() {}
00012 
00013         virtual void operator+=(T& elem) = 0;
00014 
00015         virtual bool empty() = 0;
00016 };
00017 
00018 template<typename Container, typename T>
00019 class PMBackInserter : public PMInserter<T>
00020 {
00021     private:
00022         Container& _container;
00023 
00024     public:
00025         PMBackInserter(Container& container) : PMInserter<T>(), _container(container) {}
00026 
00027         virtual ~PMBackInserter() {}
00028 
00029         virtual void operator+=(T& elem)
00030         {
00031             _container.push_back(elem);
00032         }
00033 
00034         virtual bool empty()
00035         {
00036             return _container.empty();
00037         }
00038 };
00039 
00040 #endif

Generated on Mon Sep 12 21:52:13 2005 for yast2-packagemanager by  doxygen 1.4.4