~ubuntu-branches/ubuntu/trusty/libc++/trusty

« back to all changes in this revision

Viewing changes to libcxx/test/depr/depr.str.strstreams/depr.istrstream/depr.istrstream.cons/cp_size.pass.cpp

  • Committer: Package Import Robot
  • Author(s): Andrej Belym
  • Date: 2012-06-02 19:25:47 UTC
  • Revision ID: package-import@ubuntu.com-20120602192547-b6ta950a8ckc9um2
Tags: upstream-1.0~svn160132
ImportĀ upstreamĀ versionĀ 1.0~svn160132

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//===----------------------------------------------------------------------===//
 
2
//
 
3
//                     The LLVM Compiler Infrastructure
 
4
//
 
5
// This file is dual licensed under the MIT and the University of Illinois Open
 
6
// Source Licenses. See LICENSE.TXT for details.
 
7
//
 
8
//===----------------------------------------------------------------------===//
 
9
 
 
10
// <strstream>
 
11
 
 
12
// class istrstream
 
13
 
 
14
// explicit istrstream(char* s, streamsize n);
 
15
 
 
16
#include <strstream>
 
17
#include <cassert>
 
18
 
 
19
int main()
 
20
{
 
21
    {
 
22
        char buf[] = "123 4.5 dog";
 
23
        std::istrstream in(buf, 7);
 
24
        int i;
 
25
        in >> i;
 
26
        assert(i == 123);
 
27
        double d;
 
28
        in >> d;
 
29
        assert(d == 4.5);
 
30
        std::string s;
 
31
        in >> s;
 
32
        assert(s == "");
 
33
        assert(in.eof());
 
34
        assert(in.fail());
 
35
        in.clear();
 
36
        in.putback('5');
 
37
        assert(!in.fail());
 
38
        in.putback('5');
 
39
        assert(!in.fail());
 
40
        assert(buf[5] == '5');
 
41
        assert(buf[6] == '5');
 
42
    }
 
43
}