setp.pass.cpp revision f5256e16dfc425c1d466f6308d4026d529ce9e0b
1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)//===----------------------------------------------------------------------===// 2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// 3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// The LLVM Compiler Infrastructure 4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// 5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// This file is distributed under the University of Illinois Open Source 6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// License. See LICENSE.TXT for details. 75f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)// 85f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles)//===----------------------------------------------------------------------===// 95f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// <streambuf> 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// template <class charT, class traits = char_traits<charT> > 13116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// class basic_streambuf; 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// void setp(char_type* pbeg, char_type* pend); 16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include <streambuf> 18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include <cassert> 19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)template <class CharT> 21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)struct test 22010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) : public std::basic_streambuf<CharT> 23010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles){ 24010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) typedef std::basic_streambuf<CharT> base; 25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) test() {} 27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) void setp(CharT* pbeg, CharT* pend) 29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) { 30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) base::setp(pbeg, pend); 31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) assert(base::pbase() == pbeg); 32010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) assert(base::pptr() == pbeg); 33010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) assert(base::epptr() == pend); 34010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) } 35010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}; 36010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 37010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)int main() 38010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles){ 39010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) { 401320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci test<char> t; 411320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci char in[] = "ABC"; 421320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci t.setp(in, in+sizeof(in)/sizeof(in[0])); 431320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci } 44010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) { 45010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) test<wchar_t> t; 46010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) wchar_t in[] = L"ABC"; 47010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) t.setp(in, in+sizeof(in)/sizeof(in[0])); 48010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) } 49010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} 50010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)