File: VectorUtil.h

package info (click to toggle)
abyss 2.3.10-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,284 kB
  • sloc: cpp: 78,182; ansic: 6,512; makefile: 2,252; perl: 672; sh: 509; haskell: 412; python: 4
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