bug fix
This commit is contained in:
@@ -35,11 +35,13 @@ namespace TinySTL{
|
||||
viter& operator --(){ --ptr_; return *this; }
|
||||
viter operator --(int){ viter temp = *this; --(*this); return temp; }
|
||||
|
||||
bool operator == (const viter& vit){ return ptr_ == vit.ptr_; }
|
||||
bool operator != (const viter& vit){ return !(*this == vit); }
|
||||
bool operator == (const viter& vit)const{ return ptr_ == vit.ptr_; }
|
||||
bool operator != (const viter& vit)const{ return !(*this == vit); }
|
||||
viter operator + (const difference_type i){ return viter(ptr_ + i); }
|
||||
viter& operator += (const difference_type i){ ptr_ += i; return *this; }
|
||||
viter operator - (const difference_type i){ return viter(ptr_ - i); }
|
||||
difference_type operator - (const viter& vit){ return (ptr_ - vit.ptr_); }
|
||||
viter& operator -= (const difference_type i){ ptr_ -= i; return *this; }
|
||||
difference_type operator - (const viter& vit)const{ return (ptr_ - vit.ptr_); }
|
||||
|
||||
friend viter operator + (const viter& vit, const difference_type i);
|
||||
friend viter operator + (const difference_type i, const viter& vit);
|
||||
@@ -55,6 +57,7 @@ namespace TinySTL{
|
||||
if (this != &vit){
|
||||
ptr_ = vit.ptr_;
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
template<class T>
|
||||
viter<T> operator + (const viter<T>& vit, const typename viter<T>::difference_type i){
|
||||
@@ -83,11 +86,10 @@ namespace TinySTL{
|
||||
T *endOfStorage_;
|
||||
|
||||
typedef Alloc dataAllocator;
|
||||
//Alloc dataAllocator;
|
||||
public:
|
||||
typedef T value_type;
|
||||
typedef viter<T> iterator;
|
||||
typedef reverse_iterator<T *> reverse_iterator;
|
||||
typedef reverse_iterator<viter<T>> reverse_iterator;
|
||||
typedef iterator pointer;
|
||||
typedef T& reference;
|
||||
typedef size_t size_type;
|
||||
|
||||
@@ -16,12 +16,10 @@ using namespace TinySTL;
|
||||
int main(){
|
||||
int i = 11; int *ptr = &i;
|
||||
int array[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
|
||||
//TinySTL::vector<int> v(array, array + 9);
|
||||
TinySTL::vector<int> v(array, array + 9);
|
||||
|
||||
std::vector<int> v(array, array + 9);
|
||||
TinySTL::reverse_iterator<std::vector<int>::iterator> beg(v.end());
|
||||
TinySTL::reverse_iterator<std::vector<int>::iterator> end(v.begin());
|
||||
for (auto rit = beg; rit != end; ++rit){ cout << *rit << endl; }
|
||||
|
||||
for (auto rit = v.rbegin(); rit != v.rend();rit = rit + 1){ cout << *rit << endl; }
|
||||
//TinySTL::reverse_iterator<std::list<int>::iterator> rit(List.begin());
|
||||
|
||||
system("pause");
|
||||
|
||||
Reference in New Issue
Block a user