| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | #include "test_macros.h" |
| |
|
| | #if TEST_STD_VER < 11 |
| | #error |
| | #else |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| |
|
| | #include <iterator> |
| | #include <cassert> |
| |
|
| | namespace Foo { |
| | struct FakeContainer {}; |
| | typedef int FakeIter; |
| |
|
| | FakeIter begin(const FakeContainer &) { return 1; } |
| | FakeIter end (const FakeContainer &) { return 2; } |
| | FakeIter rbegin(const FakeContainer &) { return 3; } |
| | FakeIter rend (const FakeContainer &) { return 4; } |
| |
|
| | FakeIter cbegin(const FakeContainer &) { return 11; } |
| | FakeIter cend (const FakeContainer &) { return 12; } |
| | FakeIter crbegin(const FakeContainer &) { return 13; } |
| | FakeIter crend (const FakeContainer &) { return 14; } |
| | } |
| |
|
| |
|
| | int main(int, char**) { |
| | |
| | TEST_IGNORE_NODISCARD std::cbegin (Foo::FakeContainer()); |
| | TEST_IGNORE_NODISCARD std::cend (Foo::FakeContainer()); |
| | TEST_IGNORE_NODISCARD std::crbegin(Foo::FakeContainer()); |
| | TEST_IGNORE_NODISCARD std::crend (Foo::FakeContainer()); |
| |
|
| | return 0; |
| | } |
| | #endif |
| |
|