std::begin(std::valarray) (3) - Linux Manuals
std::begin(std::valarray): std::begin(std::valarray)
NAME
std::begin(std::valarray) - std::begin(std::valarray)
Synopsis
template< class T > (1) (since C++11)
/*unspecified1*/ begin( valarray<T>& v );
template< class T > (2) (since C++11)
/*unspecified2*/ begin( const valarray<T>& v );
The overload of std::begin for valarray returns an iterator of unspecified type referring to the first element in the numeric array.
1) The return type meets the requirements of mutable LegacyRandomAccessIterator.
2) The return type meets the requirements of constant LegacyRandomAccessIterator.
The iterator obtained from this function is invalidated when the member function resize() is called on the array v or when the lifetime of v ends, whichever comes first.
Parameters
v - a numeric array
Return value
Iterator to the first value in the numeric array.
Exceptions
(none)
Notes
Unlike other functions that take std::valarray arguments, begin() cannot accept the replacement types (such as the types produced by expression templates) that may be returned from expressions involving valarrays: std::begin(v1 + v2) is not portable, std::begin(std::valarray<T>(v1 + v2)) has to be used instead.
The intent of this function is to allow range_for_loops to work with valarrays, not to provide container semantics.
Example
This section is incomplete
Reason: no example
See also
std::end(std::valarray) specializes std::end
(C++11)