X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=stl-model.h;fp=stl-model.h;h=ae6e8b27c8443a79fcf69631cacdf10a0dc256e0;hb=5ea8e3d5d861ed363e5ac5f3b20b8181dd197efb;hp=0000000000000000000000000000000000000000;hpb=b2f34d7f1d030f414786ea0b1a5709dcac604c7b;p=model-checker.git diff --git a/stl-model.h b/stl-model.h new file mode 100644 index 0000000..ae6e8b2 --- /dev/null +++ b/stl-model.h @@ -0,0 +1,76 @@ +#ifndef __STL_MODEL_H__ +#define __STL_MODEL_H__ + +#include +#include +#include "mymemory.h" + +template +class ModelList : public std::list<_Tp, ModelAlloc<_Tp> > +{ + public: + typedef std::list< _Tp, ModelAlloc<_Tp> > list; + + ModelList() : + list() + { } + + ModelList(size_t n, const _Tp& val = _Tp()) : + list(n, val) + { } + + MEMALLOC +}; + +template +class SnapList : public std::list<_Tp, SnapshotAlloc<_Tp> > +{ + public: + typedef std::list<_Tp, SnapshotAlloc<_Tp> > list; + + SnapList() : + list() + { } + + SnapList(size_t n, const _Tp& val = _Tp()) : + list(n, val) + { } + + SNAPSHOTALLOC +}; + +template +class ModelVector : public std::vector<_Tp, ModelAlloc<_Tp> > +{ + public: + typedef std::vector< _Tp, ModelAlloc<_Tp> > vector; + + ModelVector() : + vector() + { } + + ModelVector(size_t n, const _Tp& val = _Tp()) : + vector(n, val) + { } + + MEMALLOC +}; + +template +class SnapVector : public std::vector<_Tp, SnapshotAlloc<_Tp> > +{ + public: + typedef std::vector< _Tp, SnapshotAlloc<_Tp> > vector; + + SnapVector() : + vector() + { } + + SnapVector(size_t n, const _Tp& val = _Tp()) : + vector(n, val) + { } + + SNAPSHOTALLOC +}; + +#endif /* __STL_MODEL_H__ */