File: VectorUtil.h

package info (click to toggle)
abyss 2.2.5%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 15,640 kB
  • sloc: cpp: 109,409; ansic: 6,510; makefile: 2,194; java: 1,354; sh: 732; perl: 672; haskell: 412; python: 45
file content (35 lines) | stat: -rw-r--r-- 496 bytes parent folder | download | duplicates (6)
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