resolved pbm assign iterator
This commit is contained in:
@@ -179,19 +179,19 @@ typename enable_if< !is_integral<InputIterator>::value,void >::type VT::
|
|||||||
assign( InputIterator first, InputIterator last)
|
assign( InputIterator first, InputIterator last)
|
||||||
{
|
{
|
||||||
InputIterator tmp = first;
|
InputIterator tmp = first;
|
||||||
int range = 0;
|
unsigned int range = 0;
|
||||||
|
|
||||||
clear();
|
clear();
|
||||||
|
|
||||||
while (tmp++ != last)
|
while (tmp++ != last)
|
||||||
range++;
|
range++;
|
||||||
_size += range;
|
if (range >= _capacity)
|
||||||
if (_size >= _capacity)
|
reserve(range);
|
||||||
reserve(_size);
|
|
||||||
while (first != last)
|
while (first != last)
|
||||||
{
|
{
|
||||||
_allocator.construct(&_mem_ptr[_size], *first);
|
_allocator.construct(&_mem_ptr[_size], *first);
|
||||||
first++;
|
first++;
|
||||||
|
_size++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
VT_TPL void VT::
|
VT_TPL void VT::
|
||||||
|
|||||||
@@ -319,7 +319,6 @@ int main() {
|
|||||||
std::cout << "Size of second: " << int (second.size()) << '\n';
|
std::cout << "Size of second: " << int (second.size()) << '\n';
|
||||||
std::cout << "Size of third: " << int (third.size()) << '\n';
|
std::cout << "Size of third: " << int (third.size()) << '\n';
|
||||||
|
|
||||||
|
|
||||||
// title
|
// title
|
||||||
TITLE(capacity tests of assignation :)
|
TITLE(capacity tests of assignation :)
|
||||||
|
|
||||||
@@ -357,31 +356,31 @@ int main() {
|
|||||||
ft::vector<int> int_vector_2;
|
ft::vector<int> int_vector_2;
|
||||||
ft::vector<int> int_vector_3;
|
ft::vector<int> int_vector_3;
|
||||||
ft::vector<int> it_vector;
|
ft::vector<int> it_vector;
|
||||||
|
int ssize;
|
||||||
|
|
||||||
std::cout << "\nassign 1\n";
|
std::cout << "\nassign 1\n";
|
||||||
int_vector_1.assign(1, 12);
|
int_vector_1.assign(1, 12);
|
||||||
it_vector.assign(int_vector_1.begin(), int_vector_1.end());
|
it_vector.assign(int_vector_1.begin(), int_vector_1.end());
|
||||||
size = it_vector.size();
|
ssize = it_vector.size();
|
||||||
for (int i = 0; i < size; i++)
|
for (int i = 0; i < ssize; i++)
|
||||||
std::cout << "[" << i << "] " << it_vector[i] << " - ";
|
std::cout << "[" << i << "] " << it_vector[i] << " - ";
|
||||||
std::cout << "\nsize : " << size << " , capacity : " << it_vector.capacity() << "\n";
|
std::cout << "\nsize : " << ssize << " , capacity : " << it_vector.capacity() << "\n";
|
||||||
|
|
||||||
std::cout << "\nassign 1\n";
|
std::cout << "\nassign 0\n";
|
||||||
int_vector_2.assign(1, 6);
|
int_vector_2.assign(1, 6);
|
||||||
it_vector.assign(int_vector_2.begin(), int_vector_2.end() - 1);
|
it_vector.assign(int_vector_2.begin(), int_vector_2.end() - 1);
|
||||||
size = it_vector.size();
|
ssize = it_vector.size();
|
||||||
for (int i = 0; i < size; i++)
|
for (int i = 0; i < ssize; i++)
|
||||||
std::cout << "[" << i << "] " << it_vector[i] << " - ";
|
std::cout << "[" << i << "] " << it_vector[i] << " - ";
|
||||||
std::cout << "\nsize : " << size << " , capacity : " << it_vector.capacity() << "\n";
|
std::cout << "\nsize : " << ssize << " , capacity : " << it_vector.capacity() << "\n";
|
||||||
|
|
||||||
std::cout << "\nassign 1\n";
|
std::cout << "\nassign 266 - 13 - 172 = 81\n";
|
||||||
int_vector_3.assign(266, 1);
|
int_vector_3.assign(266, 1);
|
||||||
it_vector.assign(int_vector_3.begin() + 13, int_vector_3.end() - 172);
|
it_vector.assign(int_vector_3.begin() + 13, int_vector_3.end() - 172);
|
||||||
size = it_vector.size();
|
ssize = it_vector.size();
|
||||||
for (int i = 0; i < size; i++)
|
for (int i = 0; i < ssize; i++)
|
||||||
std::cout << "[" << i << "] " << it_vector[i] << " - ";
|
std::cout << "[" << i << "] " << it_vector[i] << " - ";
|
||||||
std::cout << "\nsize : " << size << " , capacity : " << it_vector.capacity() << "\n";
|
std::cout << "\nsize : " << ssize << " , capacity : " << it_vector.capacity() << "\n";
|
||||||
|
|
||||||
}
|
}
|
||||||
TESTEND
|
TESTEND
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user