| 189 | |
| 190 | template<class InputIt> |
| 191 | void |
| 192 | string:: |
| 193 | append( |
| 194 | InputIt first, |
| 195 | InputIt last, |
| 196 | std::random_access_iterator_tag) |
| 197 | { |
| 198 | |
| 199 | auto const n = static_cast< |
| 200 | size_type>(last - first); |
| 201 | char* out = impl_.append(n, sp_); |
| 202 | #if defined(_MSC_VER) && _MSC_VER <= 1900 |
| 203 | while( first != last ) |
| 204 | *out++ = *first++; |
| 205 | #else |
| 206 | std::copy(first, last, out); |
| 207 | #endif |
| 208 | } |
| 209 | |
| 210 | template<class InputIt> |
| 211 | void |