5#ifndef INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_END_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_END_HPP_
14#include "stdlib/include/stdlib_detail/cstddef.hpp"
15#include "stdlib/include/stdlib_detail/declval.hpp"
26template <
typename Element, size_t Size>
28constexpr auto end(Element (&array)[Size])
noexcept -> Element* {
30 return static_cast<Element*>(array) + Size;
41template <
typename Container>
52template <
typename Container>
54 ->
decltype(cont.end()) {
65template <
typename Container>
67 ->
decltype(::
std::end(cont)) {
68 return ::
std::end(cont);
constexpr auto end(Container &cont) noexcept(noexcept(std::declval< Container & >().end())) ->
Obtain the result of calling cont.end() on a container.
Definition end.hpp:42
constexpr auto end(Container const &cont) noexcept(noexcept(std::declval< Container const & >().end())) ->
Obtain the result of calling cont.end() on a const container.
Definition end.hpp:53
constexpr auto end(Element(&array)[Size]) noexcept -> Element *
Obtain a pointer to the one-past-the-end element of the array.
Definition end.hpp:28
constexpr auto cend(Container const &cont) noexcept(noexcept(::std::end(std::declval< Container const & >()))) ->
Equivalent to invoking end(cont) on a const container.
Definition end.hpp:66
constexpr auto operator()(::arene::base::result< void, E > const &value) const noexcept(noexcept(hash< E >{}(std::declval< E const & >()))) -> std::size_t
Calculate the hash of a result.
Definition result.hpp:1827