aboutsummaryrefslogtreecommitdiff
path: root/cutl/details/boost/regex/v4/regex_format.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'cutl/details/boost/regex/v4/regex_format.hpp')
-rw-r--r--cutl/details/boost/regex/v4/regex_format.hpp25
1 files changed, 20 insertions, 5 deletions
diff --git a/cutl/details/boost/regex/v4/regex_format.hpp b/cutl/details/boost/regex/v4/regex_format.hpp
index 211859f..c4a60f9 100644
--- a/cutl/details/boost/regex/v4/regex_format.hpp
+++ b/cutl/details/boost/regex/v4/regex_format.hpp
@@ -180,8 +180,14 @@ private:
}
inline int toi(ForwardIter& i, ForwardIter j, int base)
{
+#if defined(_MSC_VER) && defined(__INTEL_COMPILER) && ((__INTEL_COMPILER == 9999) || (__INTEL_COMPILER == 1210))
+ // Workaround for Intel support issue #656654.
+ // See also https://svn.boost.org/trac/boost/ticket/6359
+ return toi(i, j, base, mpl::false_());
+#else
typedef typename cutl_details_boost::is_convertible<ForwardIter, const char_type*&>::type tag_type;
return toi(i, j, base, tag_type());
+#endif
}
const traits& m_traits; // the traits class for localised formatting operations
@@ -277,7 +283,8 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
format_perl();
break;
}
- // fall through, not a special character:
+ // not a special character:
+ BOOST_FALLTHROUGH;
default:
put(*m_position);
++m_position;
@@ -348,7 +355,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
case '{':
have_brace = true;
++m_position;
- // fall through....
+ BOOST_FALLTHROUGH;
default:
// see if we have a number:
{
@@ -842,7 +849,15 @@ OutputIterator regex_format_imp(OutputIterator out,
BOOST_MPL_HAS_XXX_TRAIT_DEF(const_iterator)
-struct any_type { any_type(...); };
+struct any_type
+{
+ template <class T>
+ any_type(const T&);
+ template <class T, class U>
+ any_type(const T&, const U&);
+ template <class T, class U, class V>
+ any_type(const T&, const U&, const V&);
+};
typedef char no_type;
typedef char (&unary_type)[2];
typedef char (&binary_type)[3];
@@ -1050,7 +1065,7 @@ struct format_functor_c_string
template <class OutputIter>
OutputIter operator()(const Match& m, OutputIter i, cutl_details_boost::regex_constants::match_flag_type f, const Traits& t = Traits())
{
- typedef typename Match::char_type char_type;
+ //typedef typename Match::char_type char_type;
const charT* end = func;
while(*end) ++end;
return regex_format_imp(i, m, func, end, f, t);
@@ -1069,7 +1084,7 @@ struct format_functor_container
template <class OutputIter>
OutputIter operator()(const Match& m, OutputIter i, cutl_details_boost::regex_constants::match_flag_type f, const Traits& t = Traits())
{
- typedef typename Match::char_type char_type;
+ //typedef typename Match::char_type char_type;
return re_detail::regex_format_imp(i, m, func.begin(), func.end(), f, t);
}
private: