fixed C++98-incompatible unit test

This commit is contained in:
Andrzej Krzemienski
2020-01-16 22:31:23 +01:00
parent 010ee00604
commit d4a4a5b6ad

View File

@ -20,7 +20,7 @@ struct void_t
{
typedef void type;
};
template <typename T, typename = void>
struct trait
@ -29,7 +29,7 @@ struct trait
// the following trait emulates properties std::iterator_traits
template <typename T>
struct trait<T, BOOST_DEDUCED_TYPENAME void_t<BOOST_DEDUCED_TYPENAME T::value_type,
struct trait<T, BOOST_DEDUCED_TYPENAME void_t<BOOST_DEDUCED_TYPENAME T::value_type,
BOOST_DEDUCED_TYPENAME boost::enable_if<boost::is_constructible<T, T&> >::type
>::type>
{
@ -39,13 +39,20 @@ struct trait<T, BOOST_DEDUCED_TYPENAME void_t<BOOST_DEDUCED_TYPENAME T::value_ty
// This class emulates the properties of std::filesystem::path
struct Path
{
#if __cplusplus >= 201103
template <typename T, typename = BOOST_DEDUCED_TYPENAME trait<T>::value_type>
Path(T const&);
#else
template <typename T>
Path(T const&, BOOST_DEDUCED_TYPENAME trait<T>::value_type* = 0);
#endif
};
int main()
{
{
#ifndef BOOST_OPTIONAL_DETAIL_NO_IS_CONSTRUCTIBLE_TRAIT
#ifndef BOOST_OPTIONAL_DETAIL_NO_SFINAE_FRIENDLY_CONSTRUCTORS