// Iff appending itself, string needs to pre-reserve the
// correct size so that _M_mutate does not clobber the
// iterators formed here.
- size_type __len = std::min(__str.size() - __pos, __n) + this->size();
+ size_type __len = std::min(size_type (__str.size() - __pos),
+ __n) + this->size();
if (__len > this->capacity())
this->reserve(__len);
return _M_replace_safe(_M_iend(), _M_iend(), __str._M_check(__pos),
size_type __size = this->size();
if (__n <= __size)
{
- __pos = std::min(__size - __n, __pos);
+ __pos = std::min(size_type (__size - __n), __pos);
const _CharT* __data = _M_data();
do
{
if (__pos > __size)
__throw_out_of_range("basic_string::compare");
- size_type __rsize= std::min(__size - __pos, __n);
+ size_type __rsize= std::min(size_type (__size - __pos), __n);
size_type __len = std::min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
if (!__r)
if (__pos1 > __size || __pos2 > __osize)
__throw_out_of_range("basic_string::compare");
- size_type __rsize = std::min(__size - __pos1, __n1);
- size_type __rosize = std::min(__osize - __pos2, __n2);
+ size_type __rsize = std::min(size_type (__size - __pos1), __n1);
+ size_type __rosize = std::min(size_type (__osize - __pos2), __n2);
size_type __len = std::min(__rsize, __rosize);
int __r = traits_type::compare(_M_data() + __pos1,
__str.data() + __pos2, __len);
__throw_out_of_range("basic_string::compare");
size_type __osize = traits_type::length(__s);
- size_type __rsize = std::min(__size - __pos, __n1);
+ size_type __rsize = std::min(size_type (__size - __pos), __n1);
size_type __len = std::min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __s, __len);
if (!__r)
__throw_out_of_range("basic_string::compare");
size_type __osize = std::min(traits_type::length(__s), __n2);
- size_type __rsize = std::min(__size - __pos, __n1);
+ size_type __rsize = std::min(size_type (__size - __pos), __n1);
size_type __len = std::min(__rsize, __osize);
int __r = traits_type::compare(_M_data() + __pos, __s, __len);
if (!__r)
// strstream definitions -*- C++ -*-
-// Copyright (C) 2001, 2002 Free Software Foundation
+// Copyright (C) 2001, 2002, 2003 Free Software Foundation
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
if (pptr() == epptr() && _M_dynamic && !_M_frozen && !_M_constant)
{
ptrdiff_t old_size = epptr() - pbase();
- ptrdiff_t new_size = std::max(2 * old_size, ptrdiff_t(1));
+ ptrdiff_t new_size = std::max(ptrdiff_t (2 * old_size), ptrdiff_t (1));
char* buf = _M_alloc(new_size);
if (buf)