mirror of
https://github.com/bolero-MURAKAMI/Sprout
synced 2025-02-25 21:43:57 +00:00
fix workaround detail (for clang3.4~)
This commit is contained in:
parent
3d170e65a4
commit
9522d20a4a
3 changed files with 24 additions and 20 deletions
|
@ -525,18 +525,18 @@ namespace sprout {
|
||||||
#ifdef SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
#ifdef SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
||||||
public:
|
public:
|
||||||
SPROUT_CONSTEXPR container_traits_facade()
|
SPROUT_CONSTEXPR container_traits_facade()
|
||||||
: SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_value_type<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_value_type<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_iterator<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_iterator<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_const_iterator<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_const_iterator<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_reference<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_reference<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_const_reference<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_const_reference<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_size_type<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_size_type<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_difference_type<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_difference_type<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_pointer<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_pointer<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_const_pointer<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_const_pointer<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::inherit_if_static_size<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::inherit_if_static_size<sprout::container_traits<Container> >)
|
||||||
, SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::container_nosy_fixed_size<sprout::container_traits<Container> >)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(sprout::detail::container_nosy_fixed_size<sprout::container_traits<Container> >)
|
||||||
{}
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_BODY
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -83,8 +83,8 @@ namespace sprout {
|
||||||
#ifdef SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
#ifdef SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
||||||
public:
|
public:
|
||||||
SPROUT_CONSTEXPR weak_result_type()
|
SPROUT_CONSTEXPR weak_result_type()
|
||||||
: SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::weak_result_type_impl<typename std::remove_cv<F>::type>)
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(sprout::detail::weak_result_type_impl<typename std::remove_cv<F>::type>)
|
||||||
{}
|
SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_BODY
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
} // namespace sprout
|
} // namespace sprout
|
||||||
|
|
|
@ -12,13 +12,17 @@
|
||||||
|
|
||||||
//
|
//
|
||||||
// SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
// SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
||||||
|
// SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL
|
||||||
|
// SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_BODY
|
||||||
//
|
//
|
||||||
#ifndef SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
#ifdef SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
||||||
# ifdef SPROUT_WORKAROUND_NEEDS_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT
|
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(base) : base()
|
||||||
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(base) base()
|
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(base) , base()
|
||||||
# else
|
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_BODY {}
|
||||||
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(base)
|
#else
|
||||||
# endif
|
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT(base)
|
||||||
|
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_TRAIL(base)
|
||||||
|
# define SPROUT_EXPLICIT_EMPTY_BASE_CLASS_CONSTRUCT_BODY SPROUT_DEFAULTED_DEFAULT_CONSTRUCTOR_DECL
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif // #ifndef SPROUT_WORKAROUND_BASE_CLASS_CONSTRUCT_HPP
|
#endif // #ifndef SPROUT_WORKAROUND_BASE_CLASS_CONSTRUCT_HPP
|
||||||
|
|
Loading…
Add table
Reference in a new issue