comparison DEPENDENCIES/generic/include/boost/logic/tribool_io.hpp @ 101:c530137014c0

Update Boost headers (1.58.0)
author Chris Cannam
date Mon, 07 Sep 2015 11:12:49 +0100
parents 2665513ce2d3
children
comparison
equal deleted inserted replaced
100:793467b5e61c 101:c530137014c0
9 9
10 #include <boost/logic/tribool.hpp> 10 #include <boost/logic/tribool.hpp>
11 #include <boost/detail/workaround.hpp> 11 #include <boost/detail/workaround.hpp>
12 #include <boost/noncopyable.hpp> 12 #include <boost/noncopyable.hpp>
13 13
14 #if BOOST_WORKAROUND(_MSC_VER, >= 1200) 14 #if defined(_MSC_VER)
15 # pragma once 15 # pragma once
16 #endif 16 #endif
17 17
18 #ifndef BOOST_NO_STD_LOCALE 18 #ifndef BOOST_NO_STD_LOCALE
19 # include <locale> 19 # include <locale>
102 /// Returns the character string "indeterminate". 102 /// Returns the character string "indeterminate".
103 template<> 103 template<>
104 inline std::basic_string<char> get_default_indeterminate_name<char>() 104 inline std::basic_string<char> get_default_indeterminate_name<char>()
105 { return "indeterminate"; } 105 { return "indeterminate"; }
106 106
107 #if BOOST_WORKAROUND(BOOST_MSVC, < 1300) 107 #ifndef BOOST_NO_WCHAR_T
108 // VC++ 6.0 chokes on the specialization below, so we're stuck without
109 // wchar_t support. What a pain. TODO: it might just need a the template
110 // parameter as function parameter...
111 #else
112 # ifndef BOOST_NO_WCHAR_T
113 /// Returns the wide character string L"indeterminate". 108 /// Returns the wide character string L"indeterminate".
114 template<> 109 template<>
115 inline std::basic_string<wchar_t> get_default_indeterminate_name<wchar_t>() 110 inline std::basic_string<wchar_t> get_default_indeterminate_name<wchar_t>()
116 { return L"indeterminate"; } 111 { return L"indeterminate"; }
117 # endif
118 #endif 112 #endif
119 113
120 // http://www.cantrip.org/locale.html 114 // http://www.cantrip.org/locale.html
121 115
122 #ifndef BOOST_NO_STD_LOCALE 116 #ifndef BOOST_NO_STD_LOCALE
283 277
284 typename string_type::size_type pos = 0; 278 typename string_type::size_type pos = 0;
285 bool falsename_ok = true, truename_ok = true, othername_ok = true; 279 bool falsename_ok = true, truename_ok = true, othername_ok = true;
286 280
287 // Modeled after the code from Library DR 17 281 // Modeled after the code from Library DR 17
288 while (falsename_ok && pos < falsename.size() 282 while ((falsename_ok && pos < falsename.size())
289 || truename_ok && pos < truename.size() 283 || (truename_ok && pos < truename.size())
290 || othername_ok && pos < othername.size()) { 284 || (othername_ok && pos < othername.size())) {
291 typename Traits::int_type c = in.get(); 285 typename Traits::int_type c = in.get();
292 if (c == Traits::eof()) 286 if (c == Traits::eof())
293 return in; 287 return in;
294 288
295 bool matched = false; 289 bool matched = false;