update boost

This commit is contained in:
2023-11-24 12:56:13 -06:00
parent cfc99971af
commit 19d727037a
9260 changed files with 849256 additions and 299957 deletions

View File

@@ -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> >
>
{};

View File

@@ -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);
}
}}

View File

@@ -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>

View File

@@ -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

View File

@@ -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>

View File

@@ -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
{

View File

@@ -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
{