mirror of
https://github.com/bolero-MURAKAMI/Sprout.git
synced 2025-07-04 14:14:09 +00:00
null_array 追加
This commit is contained in:
parent
a52257117e
commit
6ae26b7470
7 changed files with 680 additions and 11 deletions
|
@ -926,18 +926,27 @@ namespace std {
|
|||
//
|
||||
// get
|
||||
//
|
||||
template<std::size_t I, typename T, typename Container>
|
||||
T& get(sprout::sub_array<Container>& arr) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(*sprout::next(sprout::fixed_begin(arr), I))) {
|
||||
template<std::size_t I, typename Container>
|
||||
typename sprout::fixed_container_traits<sprout::sub_array<Container> >::value_type& get(
|
||||
sprout::sub_array<Container>& arr
|
||||
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(*sprout::next(sprout::fixed_begin(arr), I)))
|
||||
{
|
||||
static_assert(I < sprout::fixed_container_traits<sprout::sub_array<Container> >::fixed_size, "get: index out of range");
|
||||
return *sprout::next(sprout::fixed_begin(arr), I);
|
||||
}
|
||||
template<std::size_t I, typename T, typename Container>
|
||||
SPROUT_CONSTEXPR T const& get(sprout::sub_array<Container> const& arr) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(*sprout::next(sprout::fixed_begin(arr), I))) {
|
||||
template<std::size_t I, typename Container>
|
||||
SPROUT_CONSTEXPR typename sprout::fixed_container_traits<sprout::sub_array<Container> >::value_type const& get(
|
||||
sprout::sub_array<Container> const& arr
|
||||
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(*sprout::next(sprout::fixed_begin(arr), I)))
|
||||
{
|
||||
static_assert(I < sprout::fixed_container_traits<sprout::sub_array<Container> >::fixed_size, "get: index out of range");
|
||||
return *sprout::next(sprout::fixed_begin(arr), I);
|
||||
}
|
||||
template<std::size_t I, typename T, typename Container>
|
||||
T&& get(sprout::sub_array<Container>&& arr) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::move(std::get<I>(arr)))) {
|
||||
template<std::size_t I, typename Container>
|
||||
typename sprout::fixed_container_traits<sprout::sub_array<Container> >::value_type&& get(
|
||||
sprout::sub_array<Container>&& arr
|
||||
) SPROUT_NOEXCEPT_EXPR(SPROUT_NOEXCEPT_EXPR(std::move(std::get<I>(arr))))
|
||||
{
|
||||
return std::move(std::get<I>(arr));
|
||||
}
|
||||
} // namespace std
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue