Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/bFTGL/include/FTVector.h')
-rw-r--r--extern/bFTGL/include/FTVector.h190
1 files changed, 0 insertions, 190 deletions
diff --git a/extern/bFTGL/include/FTVector.h b/extern/bFTGL/include/FTVector.h
deleted file mode 100644
index 6147f522c08..00000000000
--- a/extern/bFTGL/include/FTVector.h
+++ /dev/null
@@ -1,190 +0,0 @@
-#ifndef __FTVector__
-#define __FTVector__
-
-#include "FTGL.h"
-
-/**
- * Provides a non-STL alternative to the STL vector
- */
-template <typename FT_VECTOR_ITEM_TYPE>
-class FTGL_EXPORT FTVector
-{
- public:
- typedef FT_VECTOR_ITEM_TYPE value_type;
- typedef value_type& reference;
- typedef const value_type& const_reference;
- typedef value_type* iterator;
- typedef const value_type* const_iterator;
- typedef size_t size_type;
-
- FTVector()
- {
- Capacity = Size = 0;
- Items = 0;
- }
-
-
- virtual ~FTVector()
- {
- clear();
- }
-
- FTVector& operator =(const FTVector& v)
- {
- reserve(v.capacity());
-
- iterator ptr = begin();
- const_iterator vbegin = v.begin();
- const_iterator vend = v.end();
-
- while( vbegin != vend)
- {
- *ptr++ = *vbegin++;
- }
-
- Size = v.size();
- return *this;
- }
-
- size_type size() const
- {
- return Size;
- }
-
- size_type capacity() const
- {
- return Capacity;
- }
-
- iterator begin()
- {
- return Items;
- }
-
- const_iterator begin() const
- {
- return Items;
- }
-
- iterator end()
- {
- return begin() + size();
- }
-
- const_iterator end() const
- {
- return begin() + size();
- }
-
- bool empty() const
- {
- return size() == 0;
- }
-
- reference operator [](size_type pos)
- {
- return( *(begin() + pos));
- }
-
- const_reference operator []( size_type pos) const
- {
- return( *(begin() + pos));
- }
-
- void clear()
- {
- if( Capacity)
- {
- delete [] Items;
- Capacity = Size = 0;
- Items = 0;
- }
- }
-
- void reserve( size_type n)
- {
- if( capacity() < n)
- {
- expand(n);
- }
- }
-
- void push_back(const value_type& x)
- {
- if( size() == capacity())
- {
- expand();
- }
-
- ( *this)[size()] = x;
- ++Size;
- }
-
- void resize(size_type n, value_type x)
- {
- if( n == size())
- {
- return;
- }
-
- reserve(n);
- iterator begin, end;
-
- if( n >= Size)
- {
- begin = this->end();
- end = this->begin() + n;
- }
- else
- {
- begin = this->begin() + n;
- end = this->end();
- }
-
- while( begin != end)
- {
- *begin++ = x;
- }
-
- Size = n;
- }
-
-
- private:
- void expand(size_type capacity_hint = 0)
- {
- size_type new_capacity =( capacity() == 0) ? 256 : capacity()* 2;
- if( capacity_hint)
- {
- while( new_capacity < capacity_hint)
- {
- new_capacity *= 2;
- }
- }
-
- value_type *new_items = new value_type[new_capacity];
-
- iterator begin = this->begin();
- iterator end = this->end();
- value_type *ptr = new_items;
-
- while( begin != end)
- {
- *ptr++ = *begin++;
- }
-
- if( Capacity)
- {
- delete [] Items;
- }
-
- Items = new_items;
- Capacity = new_capacity;
- }
-
- size_type Capacity;
- size_type Size;
- value_type* Items;
-};
-
-#endif // __FTVector__