src/types.h

changeset 402
ec95fc95e5f3
parent 381
241f65769a57
child 403
43c1f5b17bfd
--- a/src/types.h	Tue Jul 30 07:16:48 2013 +0300
+++ b/src/types.h	Tue Jul 30 07:38:08 2013 +0300
@@ -21,15 +21,15 @@
 
 #include <QString>
 #include <QObject>
-#include <vector>
+#include <deque>
 #include "common.h"
 
 class LDObject;
 
 typedef QChar qchar;
 typedef QString str;
-template<class T> class ConstVectorReverser;
-template<class T> using c_rev = ConstVectorReverser<T>;
+template<class T> class ConstListReverser;
+template<class T> using c_rev = ConstListReverser<T>;
 class strconfig;
 class intconfig;
 class floatconfig;
@@ -134,19 +134,19 @@
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-// vector
+// List
 // 
-// Array class that wraps around std::vector
+// Array class that wraps around std::deque
 // =============================================================================
-template<class T> class vector {
+template<class T> class List {
 public:
-	typedef typename std::vector<T>::iterator it;
-	typedef typename std::vector<T>::const_iterator c_it;
-	typedef typename std::vector<T>::reverse_iterator r_it;
-	typedef typename std::vector<T>::const_reverse_iterator cr_it;
+	typedef typename std::deque<T>::iterator it;
+	typedef typename std::deque<T>::const_iterator c_it;
+	typedef typename std::deque<T>::reverse_iterator r_it;
+	typedef typename std::deque<T>::const_reverse_iterator cr_it;
 	
-	vector () {}
-	vector (initlist<T> vals) {
+	List () {}
+	List (initlist<T> vals) {
 		m_vect = vals;
 	}
 	
@@ -192,7 +192,7 @@
 		return m_vect[m_vect.size () - 1];
 	}
 	
-	void push_back (const vector<T>& vals) {
+	void push_back (const List<T>& vals) {
 		for (const T& val : vals)
 			push_back (val);
 	}
@@ -210,7 +210,7 @@
 		return push_back (value);
 	}
 	
-	void operator<< (const vector<T>& vals) {
+	void operator<< (const List<T>& vals) {
 		push_back (vals);
 	}
 	
@@ -218,8 +218,8 @@
 		return pop (value);
 	}
 	
-	vector<T> reverse () const {
-		vector<T> rev;
+	List<T> reverse () const {
+		List<T> rev;
 		
 		for (const T& val : c_rev<T> (*this))
 			rev << val;
@@ -236,7 +236,7 @@
 	}
 	
 	void makeUnique () {
-		// Remove duplicate entries. For this to be effective, the vector must be
+		// Remove duplicate entries. For this to be effective, the List must be
 		// sorted first.
 		sort ();
 		it pos = std::unique (begin (), end ());
@@ -278,21 +278,21 @@
 	}
 	
 private:
-	std::vector<T> m_vect;
+	std::deque<T> m_vect;
 };
 
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-// VectorReverser (aka rev)
+// ListReverser (aka rev)
 // 
-// Helper class used to reverse-iterate vectors in range-for-loops.
+// Helper class used to reverse-iterate Lists in range-for-loops.
 // =============================================================================
-template<class T> class VectorReverser {
+template<class T> class ListReverser {
 public:
-	typedef typename vector<T>::r_it it;
+	typedef typename List<T>::r_it it;
 	
-	VectorReverser (vector<T>& vect) {
+	ListReverser (List<T>& vect) {
 		m_vect = &vect;
 	}
 	
@@ -305,21 +305,21 @@
 	}
 	
 private:
-	vector<T>* m_vect;
+	List<T>* m_vect;
 };
 
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 // =============================================================================
-// ConstVectorReverser (aka c_rev)
+// ConstListReverser (aka c_rev)
 // 
-// Like VectorReverser, except works on const vectors.
+// Like ListReverser, except works on const Lists.
 // =============================================================================
-template<class T> class ConstVectorReverser {
+template<class T> class ConstListReverser {
 public:
-	typedef typename vector<T>::cr_it it;
+	typedef typename List<T>::cr_it it;
 	
-	ConstVectorReverser (const vector<T>& vect) {
+	ConstListReverser (const List<T>& vect) {
 		m_vect = &vect;
 	}
 	
@@ -332,11 +332,11 @@
 	}
 	
 private:
-	const vector<T>* m_vect;
+	const List<T>* m_vect;
 };
 
-template<class T> using rev = VectorReverser<T>;
-template<class T> using c_rev = ConstVectorReverser<T>;
+template<class T> using rev = ListReverser<T>;
+template<class T> using c_rev = ConstListReverser<T>;
 
 // =============================================================================
 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -377,7 +377,7 @@
 	StringFormatArg (const floatconfig& v);
 	StringFormatArg (const void* v);
 	
-	template<class T> StringFormatArg (const vector<T>& v) {
+	template<class T> StringFormatArg (const List<T>& v) {
 		m_val = "{ ";
 		
 		uint i = 0;
@@ -482,7 +482,7 @@
 };
 
 // Formatter function
-str DoFormat (vector<StringFormatArg> args);
+str DoFormat (List<StringFormatArg> args);
 
 // printf replacement
 void doPrint (File& f, initlist<StringFormatArg> args);

mercurial