1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#ifndef VECTOR_UTIL_H
#define VECTOR_UTIL_H 1
#include <vector>
template <typename T>
class make_vector
{
private:
std::vector<T> vec;
public:
typedef make_vector<T> mv;
typedef std::vector<T> sv;
mv& operator<< (const T& val)
{
vec.push_back(val);
return *this;
}
operator const sv&() const { return vec; }
friend sv& operator+= (
sv& vec1, const mv& vec2)
{
sv temp_vec = vec2;
vec1.insert(vec1.end(), temp_vec.begin(), temp_vec.end());
return vec1;
}
};
#endif
|