Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef IWORKDIRECTCOLLECTOR_H_INCLUDED
00011 #define IWORKDIRECTCOLLECTOR_H_INCLUDED
00012
00013 #include <deque>
00014
00015 #include "IWORKXMLContext.h"
00016
00017 namespace libetonyek
00018 {
00019
00020 template<typename Type, class Container = std::deque<Type> >
00021 class IWORKDirectCollector
00022 {
00023 public:
00024 IWORKDirectCollector(Container &collection)
00025 : m_collection(collection)
00026 {
00027 }
00028
00029 template<class Context, class State>
00030 IWORKXMLContextPtr_t makeContext(State &state) const
00031 {
00032 return libetonyek::makeContext<Context>(state, m_collection);
00033 }
00034
00035 bool pending() const
00036 {
00037 return false;
00038 }
00039
00040 void push()
00041 {
00042 }
00043
00044 private:
00045 Container &m_collection;
00046 };
00047
00048 }
00049
00050 #endif // IWORKDIRECTCOLLECTOR_H_INCLUDED
00051
00052