1
0
Fork 0
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:
bolero-MURAKAMI 2014-03-03 12:26:07 +09:00
parent 3d170e65a4
commit 9522d20a4a
3 changed files with 24 additions and 20 deletions

View file

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

View file

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

View file

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