config_macros.hpp
Go to the documentation of this file.
1 // -*- C++ -*-
2 // ----------------------------------------------------------------------------
3 // config_macros.hpp : configuration macros for the format library
4 // only BOOST_IO_STD is absolutely needed (it should be 'std::' in general)
5 // others are compiler-specific workaround macros used in #ifdef switches
6 // ----------------------------------------------------------------------------
7 
8 // Copyright Samuel Krempp 2003. Use, modification, and distribution are
9 // subject to the Boost Software License, Version 1.0. (See accompanying
10 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
11 
12 // see http://www.boost.org/libs/format for library home page
13 
14 
15 // ----------------------------------------------------------------------------
16 
17 #ifndef BOOST_FORMAT_CONFIG_MACROS_HPP
18 #define BOOST_FORMAT_CONFIG_MACROS_HPP
19 
20 #include <boost/config.hpp>
22 
23 // make sure our local macros wont override something :
24 #if defined(BOOST_NO_LOCALE_ISDIGIT) || defined(BOOST_OVERLOAD_FOR_NON_CONST) \
25  || defined(BOOST_IO_STD) || defined( BOOST_IO_NEEDS_USING_DECLARATION ) \
26  || defined(BOOST_NO_TEMPLATE_STD_STREAM) \
27  || defined(BOOST_FORMAT_STREAMBUF_DEFINED) || defined(BOOST_FORMAT_OSTREAM_DEFINED)
28 #error "boost::format uses a local macro that is already defined."
29 #endif
30 
31 // specific workarounds. each header can define BOOS_IO_STD if it
32 // needs. (e.g. because of IO_NEEDS_USING_DECLARATION)
35 
36 #ifndef BOOST_IO_STD
37 # define BOOST_IO_STD ::std::
38 #endif
39 
40 #if defined(BOOST_NO_STD_LOCALE) || \
41  ( BOOST_WORKAROUND(__BORLANDC__, <= 0x564) \
42  || BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT( 0x570 ) ) )
43 // some future __BORLANDC__ >0x564 versions might not need this
44 // 0x570 is Borland's kylix branch
45 #define BOOST_NO_LOCALE_ISDIGIT
46 #endif
47 
48 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x570) ) || BOOST_WORKAROUND( BOOST_MSVC, BOOST_TESTED_AT(1300))
49 #define BOOST_NO_OVERLOAD_FOR_NON_CONST
50 #endif
51 
52 // **** Workaround for io streams, stlport and msvc.
53 #ifdef BOOST_IO_NEEDS_USING_DECLARATION
54 namespace boost {
55  using std::char_traits;
56  using std::basic_ostream;
57  namespace io {
58  using std::basic_ostream;
59  namespace detail {
60  using std::basic_ios;
61  using std::basic_ostream;
62  }
63  }
64 #if ! defined(BOOST_NO_STD_LOCALE)
65  using std::locale;
66  namespace io {
67  using std::locale;
68  namespace detail {
69  using std::locale;
70  }
71  }
72 #endif // locale
73 }
74  // -end N.S. boost
75 #endif // needs_using_declaration
76 
77 #if ! defined(BOOST_NO_STD_LOCALE)
78 #include <locale>
79 #endif
80 
81 
82 // *** hide std::locale if it doesnt exist.
83 // this typedef is either std::locale or int, avoids placing ifdefs everywhere
84 namespace boost { namespace io { namespace detail {
85 #if ! defined(BOOST_NO_STD_LOCALE)
86  typedef BOOST_IO_STD locale locale_t;
87 #else
88  typedef int locale_t;
89 #endif
90 } } }
91 
92 
93 // ----------------------------------------------------------------------------
94 
95 #endif // BOOST_FORMAT_MACROS_DEFAULT_HPP
#define BOOST_IO_STD
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
detail namespace with internal helper functions
Definition: json.hpp:269
BOOST_IO_STD locale locale_t


librealsense2
Author(s): LibRealSense ROS Team
autogenerated on Thu Dec 22 2022 03:43:16