forked from boostorg/variant2
Merge branch 'feature/warnings-as-errors' into develop
This commit is contained in:
@ -1,7 +1,7 @@
|
|||||||
#ifndef BOOST_VARIANT2_VARIANT_HPP_INCLUDED
|
#ifndef BOOST_VARIANT2_VARIANT_HPP_INCLUDED
|
||||||
#define BOOST_VARIANT2_VARIANT_HPP_INCLUDED
|
#define BOOST_VARIANT2_VARIANT_HPP_INCLUDED
|
||||||
|
|
||||||
// Copyright 2017, 2018 Peter Dimov.
|
// Copyright 2017-2019 Peter Dimov.
|
||||||
//
|
//
|
||||||
// Distributed under the Boost Software License, Version 1.0.
|
// Distributed under the Boost Software License, Version 1.0.
|
||||||
//
|
//
|
||||||
@ -266,6 +266,10 @@ template<std::size_t I, class... T> struct variant_alternative<I, variant<T...>>
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// variant_npos
|
||||||
|
|
||||||
|
constexpr std::size_t variant_npos = ~static_cast<std::size_t>( 0 );
|
||||||
|
|
||||||
// holds_alternative
|
// holds_alternative
|
||||||
|
|
||||||
template<class U, class... T> constexpr bool holds_alternative( variant<T...> const& v ) noexcept
|
template<class U, class... T> constexpr bool holds_alternative( variant<T...> const& v ) noexcept
|
||||||
@ -1350,6 +1354,11 @@ public:
|
|||||||
|
|
||||||
// value status
|
// value status
|
||||||
|
|
||||||
|
constexpr bool valueless_by_exception() const noexcept
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
using variant_base::index;
|
using variant_base::index;
|
||||||
|
|
||||||
// swap
|
// swap
|
||||||
|
16
test/Jamfile
16
test/Jamfile
@ -1,6 +1,6 @@
|
|||||||
# Boost.Variant2 Library Test Jamfile
|
# Boost.Variant2 Library Test Jamfile
|
||||||
#
|
#
|
||||||
# Copyright 2015-2017 Peter Dimov
|
# Copyright 2015-2019 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
|
# See accompanying file LICENSE_1_0.txt or copy at
|
||||||
@ -9,7 +9,19 @@
|
|||||||
import testing ;
|
import testing ;
|
||||||
import ../../config/checks/config : requires ;
|
import ../../config/checks/config : requires ;
|
||||||
|
|
||||||
project : requirements [ requires cxx11_variadic_templates cxx11_template_aliases cxx11_decltype cxx11_constexpr ] ;
|
project
|
||||||
|
: default-build
|
||||||
|
|
||||||
|
<warnings>all
|
||||||
|
|
||||||
|
: requirements
|
||||||
|
|
||||||
|
[ requires cxx11_variadic_templates cxx11_template_aliases cxx11_decltype cxx11_constexpr ]
|
||||||
|
|
||||||
|
<toolset>msvc:<warnings-as-errors>on
|
||||||
|
<toolset>gcc:<warnings-as-errors>on
|
||||||
|
<toolset>clang:<warnings-as-errors>on
|
||||||
|
;
|
||||||
|
|
||||||
run variant_size.cpp ;
|
run variant_size.cpp ;
|
||||||
run variant_alternative.cpp ;
|
run variant_alternative.cpp ;
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning( disable: 4702 ) // unreachable code
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <boost/variant2/variant.hpp>
|
#include <boost/variant2/variant.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning( disable: 4702 ) // unreachable code
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <boost/variant2/variant.hpp>
|
#include <boost/variant2/variant.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning( disable: 4702 ) // unreachable code
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <boost/variant2/variant.hpp>
|
#include <boost/variant2/variant.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning( disable: 4702 ) // unreachable code
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <boost/variant2/variant.hpp>
|
#include <boost/variant2/variant.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning( disable: 4702 ) // unreachable code
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <boost/variant2/variant.hpp>
|
#include <boost/variant2/variant.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <stdexcept>
|
#include <stdexcept>
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning( disable: 4702 ) // unreachable code
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <boost/variant2/variant.hpp>
|
#include <boost/variant2/variant.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <boost/core/lightweight_test_trait.hpp>
|
#include <boost/core/lightweight_test_trait.hpp>
|
||||||
|
@ -6,6 +6,10 @@
|
|||||||
// See accompanying file LICENSE_1_0.txt or copy at
|
// See accompanying file LICENSE_1_0.txt or copy at
|
||||||
// http://www.boost.org/LICENSE_1_0.txt
|
// http://www.boost.org/LICENSE_1_0.txt
|
||||||
|
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
# pragma warning( disable: 4702 ) // unreachable code
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <boost/variant2/variant.hpp>
|
#include <boost/variant2/variant.hpp>
|
||||||
#include <boost/core/lightweight_test.hpp>
|
#include <boost/core/lightweight_test.hpp>
|
||||||
#include <type_traits>
|
#include <type_traits>
|
||||||
|
Reference in New Issue
Block a user