bug fix
This commit is contained in:
@@ -21,7 +21,7 @@ namespace TinySTL{
|
|||||||
public:
|
public:
|
||||||
//<2F><><EFBFBD>졣<EFBFBD><ECA1A3><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><><EFBFBD>졣<EFBFBD><ECA1A3><EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
reverse_iterator() :base_(0), cur_(0){}
|
reverse_iterator() :base_(0), cur_(0){}
|
||||||
explicit reverse_iterator(iterator_type it) :base_(it), cur_(it - 1){}
|
explicit reverse_iterator(const iterator_type& it) :base_(it), cur_(it - 1){}
|
||||||
template <class Iter>
|
template <class Iter>
|
||||||
reverse_iterator(const reverse_iterator<Iter>& rev_it){
|
reverse_iterator(const reverse_iterator<Iter>& rev_it){
|
||||||
base_ = (iterator_type)rev_it.base();
|
base_ = (iterator_type)rev_it.base();
|
||||||
|
|||||||
@@ -37,9 +37,9 @@ namespace TinySTL{
|
|||||||
|
|
||||||
bool operator == (const viter& vit)const{ return ptr_ == vit.ptr_; }
|
bool operator == (const viter& vit)const{ return ptr_ == vit.ptr_; }
|
||||||
bool operator != (const viter& vit)const{ return !(*this == vit); }
|
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)const{ return viter(ptr_ + i); }
|
||||||
viter& operator += (const difference_type i){ ptr_ += i; return *this; }
|
viter& operator += (const difference_type i){ ptr_ += i; return *this; }
|
||||||
viter operator - (const difference_type i){ return viter(ptr_ - i); }
|
viter operator - (const difference_type i)const{ return viter(ptr_ - i); }
|
||||||
viter& operator -= (const difference_type i){ ptr_ -= i; return *this; }
|
viter& operator -= (const difference_type i){ ptr_ -= i; return *this; }
|
||||||
difference_type operator - (const viter& vit)const{ return (ptr_ - vit.ptr_); }
|
difference_type operator - (const viter& vit)const{ return (ptr_ - vit.ptr_); }
|
||||||
|
|
||||||
@@ -89,9 +89,12 @@ namespace TinySTL{
|
|||||||
public:
|
public:
|
||||||
typedef T value_type;
|
typedef T value_type;
|
||||||
typedef viter<T> iterator;
|
typedef viter<T> iterator;
|
||||||
typedef reverse_iterator<viter<T>> reverse_iterator;
|
typedef const viter<T> const_iterator;
|
||||||
|
typedef reverse_iterator<T*> reverse_iterator;
|
||||||
|
typedef const reverse_iterator const_reverse_iterator;
|
||||||
typedef iterator pointer;
|
typedef iterator pointer;
|
||||||
typedef T& reference;
|
typedef T& reference;
|
||||||
|
typedef const T& const_reference;
|
||||||
typedef size_t size_type;
|
typedef size_t size_type;
|
||||||
typedef typename iterator::difference_type difference_type;
|
typedef typename iterator::difference_type difference_type;
|
||||||
public:
|
public:
|
||||||
@@ -116,9 +119,15 @@ namespace TinySTL{
|
|||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
iterator begin(){ return iterator(start_); }
|
iterator begin(){ return iterator(start_); }
|
||||||
|
const_iterator begin()const{ return const_iterator(start_); }
|
||||||
|
const_iterator cbegin()const{ return const_iterator(start_); }
|
||||||
iterator end(){ return iterator(finish_); }
|
iterator end(){ return iterator(finish_); }
|
||||||
reverse_iterator rbegin(){ return reverse_iterator(end()); }
|
const_iterator end()const{ return const_iterator(finish_); }
|
||||||
reverse_iterator rend(){ return reverse_iterator(begin()); }
|
const_iterator cend()const{ return const_iterator(finish_); }
|
||||||
|
reverse_iterator rbegin(){ return reverse_iterator(finish_); }
|
||||||
|
const_reverse_iterator crbegin(){ return const_reverse_iterator(finish_); }
|
||||||
|
reverse_iterator rend(){ return reverse_iterator(start_); }
|
||||||
|
const_reverse_iterator crend(){ return const_reverse_iterator(start_); }
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
difference_type size()const{ return finish_ - start_; }
|
difference_type size()const{ return finish_ - start_; }
|
||||||
|
|||||||
@@ -17,20 +17,31 @@
|
|||||||
#include "Vector.h"
|
#include "Vector.h"
|
||||||
#include "Profiler\Profiler.h"
|
#include "Profiler\Profiler.h"
|
||||||
|
|
||||||
|
#include "Queue.h"
|
||||||
|
|
||||||
using namespace TinySTL::Profiler;
|
using namespace TinySTL::Profiler;
|
||||||
|
class mycomparison
|
||||||
|
{
|
||||||
|
bool reverse;
|
||||||
|
public:
|
||||||
|
mycomparison(const bool& revparam = false)
|
||||||
|
{
|
||||||
|
reverse = revparam;
|
||||||
|
}
|
||||||
|
bool operator() (const int& lhs, const int&rhs) const
|
||||||
|
{
|
||||||
|
if (reverse) return (lhs>rhs);
|
||||||
|
else return (lhs<rhs);
|
||||||
|
}
|
||||||
|
};
|
||||||
int main(){
|
int main(){
|
||||||
/*char array[] = "+C";
|
int array[] = { 1, 2, 3, 4, 5 };
|
||||||
TinySTL::string s("LoveC++");
|
TinySTL::vector<int> myvector(array, array+5);
|
||||||
TinySTL::string str("ZXHLoveC++VeryMuch");
|
|
||||||
cout << str.find_first_of(array, 0, str.size()) << endl;*/
|
|
||||||
TinySTL::string name("zxh");
|
|
||||||
//std::string name("zxh");
|
|
||||||
|
|
||||||
std::cout << "Please, enter your full name: ";
|
std::cout << "myvector backwards:";
|
||||||
TinySTL::getline(std::cin, name,'i');
|
for (auto rit = myvector.crbegin(); rit != myvector.crend(); ++rit)
|
||||||
//std::getline(std::cin, name);
|
std::cout << ' ' << *rit;
|
||||||
std::cout << name << "\n";
|
std::cout << '\n';
|
||||||
system("pause");
|
system("pause");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user