//===----------------------------------------------------------------------===// | |
// | |
// The LLVM Compiler Infrastructure | |
// | |
// This file is dual licensed under the MIT and the University of Illinois Open | |
// Source Licenses. See LICENSE.TXT for details. | |
// | |
//===----------------------------------------------------------------------===// | |
// <string> | |
// void clear(); | |
#include <string> | |
#include <cassert> | |
#include "min_allocator.h" | |
template <class S> | |
void | |
test(S s) | |
{ | |
s.clear(); | |
assert(s.size() == 0); | |
} | |
int main() | |
{ | |
{ | |
typedef std::string S; | |
S s; | |
test(s); | |
s.assign(10, 'a'); | |
s.erase(5); | |
test(s); | |
s.assign(100, 'a'); | |
s.erase(50); | |
test(s); | |
} | |
#if TEST_STD_VER >= 11 | |
{ | |
typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; | |
S s; | |
test(s); | |
s.assign(10, 'a'); | |
s.erase(5); | |
test(s); | |
s.assign(100, 'a'); | |
s.erase(50); | |
test(s); | |
} | |
#endif | |
} |