Function begin

Summary

#include "breeze/iteration/begin_end.hpp"

(1) template <typename C>
    constexpr C::iterator begin(C &c) noexcept(noexcept(c.begin()))

(2) template <typename C>
    constexpr C::const_iterator begin(C const &c) noexcept(noexcept(c.begin()))

(3) template <typename T, std::ptrdiff_t n>
    constexpr T * begin(T(&a)[n]) noexcept

Function overload

Synopsis

#include "breeze/iteration/begin_end.hpp"

template <typename C>
constexpr C::iterator begin(C &c) noexcept(noexcept(c.begin()))

Description

Returns
The same as c.begin(), for any standard container.

Source

Lines 54-59 in breeze/iteration/begin_end.hpp.

template< typename C >
constexpr typename C::iterator
begin( C & c ) noexcept( noexcept( c.begin() ) )
{
    return c.begin() ;
}

Synopsis

#include "breeze/iteration/begin_end.hpp"

template <typename C>
constexpr C::const_iterator begin(C const &c) noexcept(noexcept(c.begin()))

Description

Returns
The same as c.begin(), for any standard container.

Source

Lines 67-72 in breeze/iteration/begin_end.hpp.

template< typename C >
constexpr typename C::const_iterator
begin( C const & c ) noexcept( noexcept( c.begin() ) )
{
    return c.begin() ;
}

Synopsis

#include "breeze/iteration/begin_end.hpp"

template <typename T, std::ptrdiff_t n>
constexpr T * begin(T(&a)[n]) noexcept

Description

Like container::begin(), but for a built-in array.

(Note that there's no need for a "T const overload".)

Source

Lines 133-138 in breeze/iteration/begin_end.hpp.

template< typename T, std::ptrdiff_t n >
constexpr T *
begin( T ( &a )[ n ] ) noexcept
{
    return a ;
}