1 /*
2    Copyright (c) Marshall Clow 2012-2012.
3 
4    Distributed under the Boost Software License, Version 1.0. (See accompanying
5    file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 
7     For more information, see http://www.boost.org
8 
9     Based on the StringRef implementation in LLVM (http://llvm.org) and
10     N3422 by Jeffrey Yasskin
11         http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3442.html
12     Updated July 2015 to reflect the Library Fundamentals TS
13         http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4480.html
14 
15 */
16 
17 #ifndef BOOST_STRING_VIEW_FWD_HPP
18 #define BOOST_STRING_VIEW_FWD_HPP
19 
20 #include <boost/config.hpp>
21 #include <string>
22 
23 namespace boost {
24 
25     template<typename charT, typename traits = std::char_traits<charT> > class basic_string_view;
26     typedef basic_string_view<char,     std::char_traits<char> >        string_view;
27     typedef basic_string_view<wchar_t,  std::char_traits<wchar_t> >    wstring_view;
28 
29 #ifndef BOOST_NO_CXX11_CHAR16_T
30     typedef basic_string_view<char16_t, std::char_traits<char16_t> > u16string_view;
31 #endif
32 
33 #ifndef BOOST_NO_CXX11_CHAR32_T
34     typedef basic_string_view<char32_t, std::char_traits<char32_t> > u32string_view;
35 #endif
36 
37 }
38 
39 #endif
40