5#ifndef INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_BEGIN_HPP_
6#define INCLUDE_GUARD_ARENE_BASE_STDLIB_INCLUDE_STDLIB_DETAIL_BEGIN_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 begin(Element (&array)[Size])
noexcept -> Element* {
39template <
typename Container>
50template <
typename Container>
52 ->
decltype(cont.begin()) {
63template <
typename Container>
65 ->
decltype(::
std::begin(cont)) {
66 return ::
std::begin(cont);
constexpr auto begin(Container const &cont) noexcept(noexcept(std::declval< Container const & >().begin())) ->
Obtain the result of calling cont.begin() on a const container.
Definition begin.hpp:51
constexpr auto begin(Element(&array)[Size]) noexcept -> Element *
Obtain a pointer to the first element of the array.
Definition begin.hpp:28
constexpr auto cbegin(Container const &cont) noexcept(noexcept(::std::begin(std::declval< Container const & >()))) ->
Equivalent to invoking begin(cont) on a const container.
Definition begin.hpp:64
constexpr auto begin(Container &cont) noexcept(noexcept(std::declval< Container & >().begin())) ->
Obtain the result of calling cont.begin() on a container.
Definition begin.hpp:40
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