File: VectorUtil.h

package info (click to toggle)
abyss 2.3.5%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 14,476 kB
  • sloc: cpp: 169,166; ansic: 6,828; java: 2,239; makefile: 2,229; sh: 1,159; perl: 672; haskell: 412; python: 72
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