1b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//===----------------------------------------------------------------------===// 2b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// 3b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// The LLVM Compiler Infrastructure 4b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// 5b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// This file is dual licensed under the MIT and the University of Illinois Open 6b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// Source Licenses. See LICENSE.TXT for details. 7b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner// 8b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner//===----------------------------------------------------------------------===// 9b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner 10a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner// <vector> 11b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner 12a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner// Call erase(const_iterator position) with iterator from another container 13a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner 14a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#if _LIBCPP_DEBUG2 >= 1 15a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner 16a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#define _LIBCPP_ASSERT(x, m) ((x) ? (void)0 : std::exit(0)) 17a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner 18a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#include <vector> 19b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner#include <cassert> 20b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner#include <cstdlib> 21a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#include <exception> 22b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner 23ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner#include "../../../min_allocator.h" 24ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner 25a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turnerint main() 26b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner{ 27ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner { 28a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner int a1[] = {1, 2, 3}; 29a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner std::vector<int> l1(a1, a1+3); 30a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner std::vector<int> l2(a1, a1+3); 31a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner std::vector<int>::const_iterator i = l2.begin(); 32a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner l1.erase(i); 33a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner assert(false); 34ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner } 35ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner#if __cplusplus >= 201103L 36ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner { 37ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner int a1[] = {1, 2, 3}; 38ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner std::vector<int, min_allocator<int>> l1(a1, a1+3); 39ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner std::vector<int, min_allocator<int>> l2(a1, a1+3); 40ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner std::vector<int, min_allocator<int>>::const_iterator i = l2.begin(); 41ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner l1.erase(i); 42ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner assert(false); 43ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner } 44ad46d2248426e810edc5878c7cb086b7093f3cf5David 'Digit' Turner#endif 45b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner} 46b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner 47a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#else 48a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner 49b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turnerint main() 50b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner{ 51b9a36c36f4b257de79bd656aefa7bfde40cedb0fDavid 'Digit' Turner} 52a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner 53a8bf9de8057ad254cc642f33bd7d0a48dc1ae55cDavid 'Digit' Turner#endif 54