30 #ifndef _GLIBCXX_RANGE_ACCESS_H
31 #define _GLIBCXX_RANGE_ACCESS_H 1
33 #pragma GCC system_header
35 #ifdef __GXX_EXPERIMENTAL_CXX0X__
37 namespace std _GLIBCXX_VISIBILITY(default)
39 _GLIBCXX_BEGIN_NAMESPACE_VERSION
46 template<
class _Container>
48 begin(_Container& __cont) -> decltype(__cont.begin())
49 {
return __cont.begin(); }
56 template<
class _Container>
58 begin(
const _Container& __cont) -> decltype(__cont.begin())
59 {
return __cont.begin(); }
66 template<
class _Container>
68 end(_Container& __cont) -> decltype(__cont.end())
69 {
return __cont.end(); }
76 template<
class _Container>
78 end(
const _Container& __cont) -> decltype(__cont.end())
79 {
return __cont.end(); }
85 template<
class _Tp,
size_t _Nm>
95 template<
class _Tp,
size_t _Nm>
97 end(_Tp (&__arr)[_Nm])
98 {
return __arr + _Nm; }
100 _GLIBCXX_END_NAMESPACE_VERSION
103 #endif // __GXX_EXPERIMENTAL_CXX0X__
105 #endif // _GLIBCXX_RANGE_ACCESS_H
constexpr const _Tp * end(initializer_list< _Tp > __ils) noexcept
Return an iterator pointing to one past the last element of the initilizer_list.
constexpr const _Tp * begin(initializer_list< _Tp > __ils) noexcept
Return an iterator pointing to the first element of the initilizer_list.