Changeset View
Changeset View
Standalone View
Standalone View
test/std/re/re.results/re.results.const/move.pass.cpp
Show All 25 Lines | test(const Allocator& a) | ||||
typedef std::match_results<const CharT*, Allocator> SM; | typedef std::match_results<const CharT*, Allocator> SM; | ||||
ASSERT_NOEXCEPT(SM(std::declval<SM&&>())); | ASSERT_NOEXCEPT(SM(std::declval<SM&&>())); | ||||
SM m0(a); | SM m0(a); | ||||
assert(m0.get_allocator() == a); | assert(m0.get_allocator() == a); | ||||
SM m1(std::move(m0)); | SM m1(std::move(m0)); | ||||
assert(m1.size() == 0); | assert(m1.size() == 0); | ||||
assert(m1.str() == std::basic_string<CharT>()); | assert(!m1.ready() || m1.str() == std::basic_string<CharT>()); | ||||
assert(m1.get_allocator() == a); | assert(m1.get_allocator() == a); | ||||
} | } | ||||
int main(int, char**) | int main(int, char**) | ||||
{ | { | ||||
test<char> (std::allocator<std::sub_match<const char *> >()); | test<char> (std::allocator<std::sub_match<const char *> >()); | ||||
test<wchar_t>(std::allocator<std::sub_match<const wchar_t *> >()); | test<wchar_t>(std::allocator<std::sub_match<const wchar_t *> >()); | ||||
test<char> (test_allocator<std::sub_match<const char*> >(3)); | test<char> (test_allocator<std::sub_match<const char*> >(3)); | ||||
assert(test_alloc_base::moved == 1); | assert(test_alloc_base::moved == 1); | ||||
test<wchar_t>(test_allocator<std::sub_match<const wchar_t*> >(3)); | test<wchar_t>(test_allocator<std::sub_match<const wchar_t*> >(3)); | ||||
assert(test_alloc_base::moved == 2); | assert(test_alloc_base::moved == 2); | ||||
return 0; | return 0; | ||||
} | } |