1// { dg-options "-std=gnu++17" }
2
3// Copyright (C) 2013-2020 Free Software Foundation, Inc.
4//
5// This file is part of the GNU ISO C++ Library.  This library is free
6// software; you can redistribute it and/or modify it under the
7// terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 3, or (at your option)
9// any later version.
10
11// This library is distributed in the hope that it will be useful,
12// but WITHOUT ANY WARRANTY; without even the implied warranty of
13// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14// GNU General Public License for more details.
15
16// You should have received a copy of the GNU General Public License along
17// with this library; see the file COPYING3.  If not see
18// <http://www.gnu.org/licenses/>.
19
20// inserters
21
22// NB: This file is predicated on sstreams, and ostreams
23// working, not to mention other major details like char_traits, and
24// all of the string_view class.
25
26#include <string_view>
27#include <stdexcept>
28#include <sstream>
29#include <fstream>
30#include <iostream>
31#include <testsuite_hooks.h>
32
33void
34test01()
35{
36  typedef std::wstring_view::size_type csize_type;
37  typedef std::wstring_view::const_reference cref;
38  typedef std::wstring_view::reference ref;
39
40  const std::wstring_view str01(L"sailing grand traverse bay\n"
41	       L"\t\t\t    from Elk Rapids to the point reminds me of miles");
42  const std::wstring_view str02(L"sailing");
43  const std::wstring_view str03(L"grand");
44  const std::wstring_view str04(L"traverse");
45  const std::wstring_view str05;
46  std::wstring_view str10;
47
48  // ostream& operator<<(ostream&, const basic_string_view&)
49  std::wostringstream ostrs01;
50  try
51    {
52      ostrs01 << str01;
53      VERIFY( ostrs01.str() == str01 );
54    }
55  catch(std::exception& fail)
56    {
57      VERIFY( false );
58    }
59
60  std::wstring_view hello_world;
61  std::wcout << hello_world;
62}
63
64int
65main()
66{
67  test01();
68
69  return 0;
70}
71