1748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat//===----------------------------------------------------------------------===// 2748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// 3748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// The LLVM Compiler Infrastructure 4748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// 5748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// This file is dual licensed under the MIT and the University of Illinois Open 6748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// Source Licenses. See LICENSE.TXT for details. 7748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// 8748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat//===----------------------------------------------------------------------===// 9748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat 10748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// <iterator> 11748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat 12748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// istreambuf_iterator 13748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat 14748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// istreambuf_iterator<charT,traits>& 15748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat// istreambuf_iterator<charT,traits>::operator++(); 16748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat 17748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat#include <iterator> 18748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat#include <sstream> 19748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat#include <cassert> 20748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat 21748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Eratint main() 22748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat{ 23748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat { 24748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat std::istringstream inf("abc"); 25748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat std::istreambuf_iterator<char> i(inf); 26748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(*i == 'a'); 27748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(*++i == 'b'); 28748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(*++i == 'c'); 29748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(++i == std::istreambuf_iterator<char>()); 30748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat } 31748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat { 32748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat std::wistringstream inf(L"abc"); 33748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat std::istreambuf_iterator<wchar_t> i(inf); 34748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(*i == L'a'); 35748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(*++i == L'b'); 36748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(*++i == L'c'); 37748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat assert(++i == std::istreambuf_iterator<wchar_t>()); 38748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat } 39748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat} 40748945ec6f1c67b7efc934ab0808e1d32f2fb98dDaniel Erat