Advertisement
Guest User

pacont.h

a guest
May 29th, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.56 KB | None | 0 0
  1. #ifndef PACONT_H
  2. #define PACONT_H
  3. #include <vector>
  4. template <typename T, typename F>
  5. class predicate_alternating_container: public std::vector<T>{
  6.         F f;
  7.         typedef std::vector<T> B;
  8.     public:
  9.         predicate_alternating_container(){}
  10.         template <typename P, typename Q>
  11.         predicate_alternating_container( const predicate_alternating_container<P,Q>&  a ){for(int i=0;i<a.size();)insert(a[i++]);}
  12.         void insert(T a){(f(B(B::begin(),B::end())))?(B::insert(B::begin(),a)):(B::insert(B::end()-1,a));}
  13.         void erase(int i){B::erase(B::begin()+i);}
  14. };
  15. #endif // PACONT_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement