forked from boostorg/fusion
Remove use of obsolete BOOST_NO_TEMPLATED_STREAMS macro.
It was only defined for no-longer-supported-gcc. [SVN r86062]
This commit is contained in:
@@ -19,15 +19,11 @@
|
|||||||
#define FUSION_GET_CHAR_TYPE(T) typename T::char_type
|
#define FUSION_GET_CHAR_TYPE(T) typename T::char_type
|
||||||
#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type
|
#define FUSION_GET_TRAITS_TYPE(T) typename T::traits_type
|
||||||
|
|
||||||
#if defined (BOOST_NO_TEMPLATED_STREAMS)
|
|
||||||
#define FUSION_STRING_OF_STREAM(Stream) std::string
|
|
||||||
#else
|
|
||||||
#define FUSION_STRING_OF_STREAM(Stream) \
|
#define FUSION_STRING_OF_STREAM(Stream) \
|
||||||
std::basic_string< \
|
std::basic_string< \
|
||||||
FUSION_GET_CHAR_TYPE(Stream) \
|
FUSION_GET_CHAR_TYPE(Stream) \
|
||||||
, FUSION_GET_TRAITS_TYPE(Stream) \
|
, FUSION_GET_TRAITS_TYPE(Stream) \
|
||||||
>
|
>
|
||||||
#endif
|
|
||||||
|
|
||||||
//$$$ these should be part of the public API$$$
|
//$$$ these should be part of the public API$$$
|
||||||
//$$$ rename tuple_open, tuple_close and tuple_delimiter to
|
//$$$ rename tuple_open, tuple_close and tuple_delimiter to
|
||||||
@@ -154,55 +150,6 @@ namespace boost { namespace fusion
|
|||||||
|
|
||||||
} // detail
|
} // detail
|
||||||
|
|
||||||
#if defined (BOOST_NO_TEMPLATED_STREAMS)
|
|
||||||
|
|
||||||
#define STD_TUPLE_DEFINE_MANIPULATOR(name) \
|
|
||||||
namespace detail \
|
|
||||||
{ \
|
|
||||||
struct name##_tag; \
|
|
||||||
\
|
|
||||||
struct name##_type \
|
|
||||||
{ \
|
|
||||||
typedef std::string string_type; \
|
|
||||||
string_type data; \
|
|
||||||
name##_type(const string_type& d): data(d) {} \
|
|
||||||
}; \
|
|
||||||
\
|
|
||||||
template <typename Stream> \
|
|
||||||
Stream& operator>>(Stream& s, const name##_type& m) \
|
|
||||||
{ \
|
|
||||||
string_ios_manip<name##_tag, Stream>(s).set(m.data); \
|
|
||||||
return s; \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
template <typename Stream> \
|
|
||||||
Stream& operator<<(Stream& s, const name##_type& m) \
|
|
||||||
{ \
|
|
||||||
string_ios_manip<name##_tag, Stream>(s).set(m.data); \
|
|
||||||
return s; \
|
|
||||||
} \
|
|
||||||
}
|
|
||||||
|
|
||||||
#define STD_TUPLE_DEFINE_MANIPULATOR_FUNCTIONS(name) \
|
|
||||||
inline detail::name##_type \
|
|
||||||
name(const std::string& s) \
|
|
||||||
{ \
|
|
||||||
return detail::name##_type(s); \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
inline detail::name##_type \
|
|
||||||
name(const char* s) \
|
|
||||||
{ \
|
|
||||||
return detail::name##_type(std::string(s)); \
|
|
||||||
} \
|
|
||||||
\
|
|
||||||
inline detail::name##_type \
|
|
||||||
name(char c) \
|
|
||||||
{ \
|
|
||||||
return detail::name##_type(std::string(1, c)); \
|
|
||||||
}
|
|
||||||
|
|
||||||
#else // defined(BOOST_NO_TEMPLATED_STREAMS)
|
|
||||||
|
|
||||||
#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
#if defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)
|
||||||
|
|
||||||
@@ -299,7 +246,6 @@ namespace boost { namespace fusion
|
|||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
|
|
||||||
#endif // defined(BOOST_NO_TEMPLATED_STREAMS)
|
|
||||||
|
|
||||||
STD_TUPLE_DEFINE_MANIPULATOR(tuple_open)
|
STD_TUPLE_DEFINE_MANIPULATOR(tuple_open)
|
||||||
STD_TUPLE_DEFINE_MANIPULATOR(tuple_close)
|
STD_TUPLE_DEFINE_MANIPULATOR(tuple_close)
|
||||||
|
Reference in New Issue
Block a user