assign sfinae is integral detection

This commit is contained in:
hugogogo
2022-06-08 15:24:44 +02:00
parent 647b6eee25
commit 8c232df375
5 changed files with 155 additions and 6 deletions

View File

@@ -171,10 +171,13 @@ VT_TPL typename VT::reference VT::
* modifiers :
*************/
// assign ------------------------------------
VT_TPL template <class InputIterator> void VT::
VT_TPL template <class InputIterator>
typename enable_if< !is_integral<InputIterator>::value,void >::type VT::
assign( InputIterator first, InputIterator last)
{
std::cout << "inside assign(first, last)";
// TMP
std::cout << B_RED "inside assign(first, last) " RESET;
// TMP END
InputIterator tmp = first;
int range;
@@ -192,10 +195,15 @@ std::cout << "inside assign(first, last)";
}
}
// VT_TPL typename enable_if< isinteger<T>::value,std::string >::type VT::
//VT_TPL template <class InputIterator>
//typename enable_if< is_integral<InputIterator>::value,void >::type VT::
VT_TPL void VT::
assign( size_type n, const T & val )
{
std::cout << "inside assign(n, val)";
// TMP
std::cout << B_RED "inside assign(n, val) " RESET;
// TMP END
if (n > _allocator.max_size())
throw std::length_error("assign: n > max_size");