Enable msvc-14.0

This commit is contained in:
Peter Dimov
2018-10-18 07:43:50 +03:00
parent 25ff2e77d4
commit 4878a5b87c
2 changed files with 20 additions and 8 deletions

View File

@ -14,6 +14,9 @@ branches:
environment:
matrix:
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
TOOLSET: msvc-14.0
ADDRMD: 32,64
- APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
TOOLSET: msvc-14.1
ADDRMD: 32,64

View File

@ -1,12 +1,17 @@
#ifndef BOOST_VARIANT2_VARIANT_HPP_INCLUDED
#define BOOST_VARIANT2_VARIANT_HPP_INCLUDED
// Copyright 2017 Peter Dimov.
// Copyright 2017, 2018 Peter Dimov.
//
// Distributed under the Boost Software License, Version 1.0.
// Distributed under the Boost Software License, Version 1.0.
//
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
// See accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt
#if defined(_MSC_VER) && _MSC_VER < 1910
# pragma warning( push )
# pragma warning( disable: 4521 4522 ) // multiple copy operators
#endif
#ifndef BOOST_MP11_HPP_INCLUDED
#include <boost/mp11.hpp>
@ -1028,7 +1033,7 @@ private:
}
else
{
this_->variant_base::template emplace<i>( r._get_impl( i ) );
this_->variant_base::template emplace<I::value>( r._get_impl( i ) );
}
}
};
@ -1070,7 +1075,7 @@ private:
}
else
{
this_->variant_base::template emplace<i>( std::move( r._get_impl( i ) ) );
this_->variant_base::template emplace<I::value>( std::move( r._get_impl( i ) ) );
}
}
};
@ -1485,9 +1490,9 @@ template<class F, class V1> struct visit_L1
F&& f;
V1&& v1;
template<class I> auto operator()( I i ) const -> Vret<F, V1>
template<class I> auto operator()( I ) const -> Vret<F, V1>
{
return std::forward<F>(f)( get<i>( std::forward<V1>(v1) ) );
return std::forward<F>(f)( get<I::value>( std::forward<V1>(v1) ) );
}
};
@ -1556,4 +1561,8 @@ void swap( variant<T...> & v, variant<T...> & w )
} // namespace variant2
} // namespace boost
#if defined(_MSC_VER) && _MSC_VER < 1910
# pragma warning( pop )
#endif
#endif // #ifndef BOOST_VARIANT2_VARIANT_HPP_INCLUDED