mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-02 14:04:20 +00:00
add back_inserter, front_inserter
This commit is contained in:
parent
7c706381d4
commit
74e83e31a7
70 changed files with 1094 additions and 186 deletions
37
sprout/container/deep_internal.hpp
Normal file
37
sprout/container/deep_internal.hpp
Normal file
|
@ -0,0 +1,37 @@
|
|||
#ifndef SPROUT_CONTAINER_DEEP_INTERNAL_HPP
|
||||
#define SPROUT_CONTAINER_DEEP_INTERNAL_HPP
|
||||
|
||||
#include <type_traits>
|
||||
#include <sprout/config.hpp>
|
||||
#include <sprout/container/internal.hpp>
|
||||
|
||||
namespace sprout {
|
||||
namespace containers {
|
||||
namespace detail {
|
||||
template<typename Container, typename Prev, typename = void>
|
||||
struct deep_internal_impl
|
||||
: public sprout::containers::detail::deep_internal_impl<
|
||||
typename sprout::containers::internal<Container>::type, Container
|
||||
>
|
||||
{};
|
||||
template<typename Container, typename Prev>
|
||||
struct deep_internal_impl<
|
||||
Container, Prev,
|
||||
typename std::enable_if<std::is_same<Container, Prev&&>::value>::type
|
||||
>
|
||||
: public std::common_type<Container>
|
||||
{};
|
||||
} // namespace detail
|
||||
//
|
||||
// deep_internal
|
||||
//
|
||||
template<typename Container>
|
||||
struct deep_internal
|
||||
: public sprout::containers::detail::deep_internal_impl<
|
||||
typename sprout::containers::internal<Container>::type, Container
|
||||
>
|
||||
{};
|
||||
} // namespace containers
|
||||
} // namespace sprout
|
||||
|
||||
#endif // #ifndef SPROUT_CONTAINER_DEEP_INTERNAL_HPP
|
Loading…
Add table
Add a link
Reference in a new issue