update boost
This commit is contained in:
@@ -20,13 +20,13 @@ namespace boost { namespace fusion { namespace traits
|
||||
{
|
||||
template <typename Seq1, typename Seq2, typename Enable = void>
|
||||
struct enable_equality
|
||||
: mpl::or_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >
|
||||
: mpl::and_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >
|
||||
{};
|
||||
|
||||
template <typename Seq1, typename Seq2, typename Enable = void>
|
||||
struct enable_comparison
|
||||
: mpl::and_<
|
||||
mpl::or_<traits::is_sequence<Seq1>, traits::is_sequence<Seq2> >
|
||||
traits::is_sequence<Seq1>, traits::is_sequence<Seq2>
|
||||
, mpl::equal_to<result_of::size<Seq1>, result_of::size<Seq2> >
|
||||
>
|
||||
{};
|
||||
|
||||
@@ -118,7 +118,7 @@ namespace boost { namespace fusion
|
||||
>::type
|
||||
at_c(Sequence& seq)
|
||||
{
|
||||
return fusion::at<mpl::int_<N> >(seq);
|
||||
return result_of::at_c<Sequence, N>::call(seq);
|
||||
}
|
||||
|
||||
template <int N, typename Sequence>
|
||||
@@ -126,7 +126,7 @@ namespace boost { namespace fusion
|
||||
inline typename result_of::at_c<Sequence const, N>::type
|
||||
at_c(Sequence const& seq)
|
||||
{
|
||||
return fusion::at<mpl::int_<N> >(seq);
|
||||
return result_of::at_c<Sequence const, N>::call(seq);
|
||||
}
|
||||
}}
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#define FUSION_IN_05052005_0121
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <istream>
|
||||
#include <boost/fusion/sequence/io/detail/manip.hpp>
|
||||
|
||||
#include <boost/mpl/bool.hpp>
|
||||
|
||||
@@ -36,10 +36,10 @@ namespace boost { namespace fusion
|
||||
namespace detail
|
||||
{
|
||||
template <typename Tag>
|
||||
int get_xalloc_index(Tag* = 0)
|
||||
int get_xalloc_index(int xalloc())
|
||||
{
|
||||
// each Tag will have a unique index
|
||||
static int index = std::ios::xalloc();
|
||||
static int const index = xalloc();
|
||||
return index;
|
||||
}
|
||||
|
||||
@@ -66,15 +66,19 @@ namespace boost { namespace fusion
|
||||
{
|
||||
static arena ar; // our arena
|
||||
ar.data.push_back(new T(data));
|
||||
stream.pword(get_xalloc_index<Tag>()) = ar.data.back();
|
||||
stream.pword(get_xalloc_index<Tag>(stream.xalloc)) = ar.data.back();
|
||||
}
|
||||
|
||||
static T const* get(Stream& stream)
|
||||
{
|
||||
return (T const*)stream.pword(get_xalloc_index<Tag>());
|
||||
return (T const*)stream.pword(get_xalloc_index<Tag>(stream.xalloc));
|
||||
}
|
||||
};
|
||||
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(push)
|
||||
# pragma warning(disable: 4512) // assignment operator could not be generated.
|
||||
#endif
|
||||
template <typename Tag, typename Stream>
|
||||
class string_ios_manip
|
||||
{
|
||||
@@ -110,7 +114,6 @@ namespace boost { namespace fusion
|
||||
{
|
||||
// read a delimiter
|
||||
string_type const* p = stream_data_t::get(stream);
|
||||
std::ws(stream);
|
||||
|
||||
if (p)
|
||||
{
|
||||
@@ -137,17 +140,16 @@ namespace boost { namespace fusion
|
||||
if (stream.get() != c)
|
||||
{
|
||||
stream.unget();
|
||||
stream.setstate(std::ios::failbit);
|
||||
stream.setstate(Stream::failbit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Stream& stream;
|
||||
|
||||
private:
|
||||
// silence MSVC warning C4512: assignment operator could not be generated
|
||||
string_ios_manip& operator= (string_ios_manip const&);
|
||||
};
|
||||
#ifdef _MSC_VER
|
||||
# pragma warning(pop)
|
||||
#endif
|
||||
|
||||
} // detail
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
#define FUSION_OUT_05052005_0121
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <ostream>
|
||||
#include <boost/fusion/sequence/io/detail/manip.hpp>
|
||||
|
||||
#include <boost/mpl/bool.hpp>
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
#define BOOST_IN_05042005_0120
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <istream>
|
||||
#include <boost/fusion/sequence/io/detail/in.hpp>
|
||||
#include <boost/fusion/support/is_sequence.hpp>
|
||||
#include <iosfwd>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
#define BOOST_OUT_05042005_0120
|
||||
|
||||
#include <boost/fusion/support/config.hpp>
|
||||
#include <ostream>
|
||||
#include <boost/fusion/sequence/io/detail/out.hpp>
|
||||
#include <boost/fusion/support/is_sequence.hpp>
|
||||
#include <boost/utility/enable_if.hpp>
|
||||
#include <boost/mpl/or.hpp>
|
||||
#include <iosfwd>
|
||||
|
||||
namespace boost { namespace fusion
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user