//===----------------------------------------------------------------------===// | |
// | |
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |
// See https://llvm.org/LICENSE.txt for license information. | |
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |
// | |
//===----------------------------------------------------------------------===// | |
// <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(int, char**) | |
{ | |
{ | |
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 | |
return 0; | |
} |