• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //////////////////////////////////////////////////////////////////////////////
2 //
3 // (C) Copyright Ion Gaztanaga 2014-2015. Distributed under the Boost
4 // Software License, Version 1.0. (See accompanying file
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 //
7 // See http://www.boost.org/libs/interprocess for documentation.
8 //
9 //////////////////////////////////////////////////////////////////////////////
10 #ifndef BOOST_INTERPROCESS_DETAIL_STD_FWD_HPP
11 #define BOOST_INTERPROCESS_DETAIL_STD_FWD_HPP
12 
13 #ifndef BOOST_CONFIG_HPP
14 #  include <boost/config.hpp>
15 #endif
16 #
17 #if defined(BOOST_HAS_PRAGMA_ONCE)
18 #  pragma once
19 #endif
20 
21 //////////////////////////////////////////////////////////////////////////////
22 //                        Standard predeclarations
23 //////////////////////////////////////////////////////////////////////////////
24 
25 #include <boost/move/detail/std_ns_begin.hpp>
26 BOOST_MOVE_STD_NS_BEG
27 
28 struct input_iterator_tag;
29 struct forward_iterator_tag;
30 struct bidirectional_iterator_tag;
31 struct random_access_iterator_tag;
32 
33 template<class T>
34 struct char_traits;
35 
36 #if defined(BOOST_MSVC) && (BOOST_MSVC >= 1800) &&defined(BOOST_DINKUMWARE_STDLIB)
37 #define BOOST_INTERPROCESS_STD_FWD_MSVC_IOS_BUG
38 // Compiler bug workaround. Previous versions (<= VC11)
39 // used dummy virtual functions
40 #  pragma vtordisp(push, 2)
41 #endif
42 
43 template<class CharT, class Traits>
44 class basic_ostream;
45 
46 template<class CharT, class Traits>
47 class basic_istream;
48 
49 #ifdef BOOST_INTERPROCESS_STD_FWD_MSVC_IOS_BUG
50 #  pragma vtordisp(pop)
51 #  undef BOOST_INTERPROCESS_STD_FWD_MSVC_IOS_BUG
52 #endif
53 
54 BOOST_MOVE_STD_NS_END
55 #include <boost/move/detail/std_ns_end.hpp>
56 
57 #endif //#ifndef BOOST_INTERPROCESS_DETAIL_STD_FWD_HPP
58