Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #ifndef PACONT_H
- #define PACONT_H
- #include <vector>
- template <typename T, typename F>
- class predicate_alternating_container: public std::vector<T>{
- F f;
- typedef std::vector<T> B;
- public:
- predicate_alternating_container(){}
- template <typename P, typename Q>
- predicate_alternating_container( const predicate_alternating_container<P,Q>& a ){for(int i=0;i<a.size();)insert(a[i++]);}
- void insert(T a){(f(B(B::begin(),B::end())))?(B::insert(B::begin(),a)):(B::insert(B::end()-1,a));}
- void erase(int i){B::erase(B::begin()+i);}
- };
- #endif // PACONT_H
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement