34namespace experimental {
 
   39template <
class... Types>
 
   42template <
class D, 
class... Types>
 
   47template < 
class D = void, 
class... Types>
 
   49  return {{std::forward<Types>(t)... }};
 
   67template < 
class T, std::
size_t N >
 
   68class array : 
public std::array < T, N > {
 
   73    using std::array < T, N >::array; 
 
   78    using std::array < T, N >::operator =;
 
  112    template < 
class ... Types >
 
  113    requires ( std::is_same < T, typename std::remove_reference < Types >::type >::value && ... )
 
  144        return make_move_iterator ( this->
begin ( ) );
 
  174        return make_move_iterator ( this->
end ( ) );
 
  184        auto endIter = 
end ( );
 
  185        auto beginIter = 
begin ( );
 
  196        auto endIter = 
end ( );
 
  197        auto beginIter = 
begin ( );
 
  208        auto endIter = std::move ( * this ).end ( );
 
  209        auto beginIter = std::move ( * this ).begin ( );
 
  226template< 
class T, std::
size_t N >
 
  231    for(
const T& item : 
array) {
 
  232        if(!first) out << 
", ";
 
  253template < 
typename Base, 
typename ... Types >
 
  266template < 
typename Base >
 
Class extending the array class from the standard library. Original reason is to allow printing of th...
Definition: array.hpp:68
auto range() &&
Make range of move begin to end iterators.
Definition: array.hpp:207
auto end() &&
Inherited behavior of end for rvalues.
Definition: array.hpp:173
auto begin() &
Inherited behavior of begin for non-const instance.
Definition: array.hpp:123
auto end() const &
Inherited behavior of end for const instance.
Definition: array.hpp:163
auto begin() const &
Inherited behavior of begin for const instance.
Definition: array.hpp:133
array & operator=(array &&other)=default
array(array &&other)=default
auto end() &
Inherited behavior of end for non-const instance.
Definition: array.hpp:153
auto range() const &
Make range of non-const begin to end iterators.
Definition: array.hpp:195
auto begin() &&
Inherited behavior of begin for rvalues.
Definition: array.hpp:143
auto range() &
Make range of non-const begin to end iterators.
Definition: array.hpp:183
array(const array &other)=default
Implementation of iterator_range, i.e. pair of iterators. The class provides most notably begin and e...
Definition: range.hpp:24
Definition: sigHandler.cpp:20
constexpr array< typename std::remove_reference< Base >::type, sizeof ...(Types)+1 > make_array(Base &&first, Types &&... other)
Equivalent to the make_array from standard library but produces the ext::array.
Definition: array.hpp:254
std::ostream & operator<<(ext::reference_wrapper< std::ostream > &os, std::ostream &(*const func)(std::ostream &))
Overloaded function allowing same operations on wrapped output stream as on the actual output stream,...
Definition: GlobalData.cpp:33
auto begin(Container &&cont) -> decltype(std::forward(cont).begin())
Definition: iterator.hpp:900
void end()
Definition: measurements.cpp:19
std::array< typename return_type_helper< D, Types... >::type, sizeof...(Types)> return_type
Definition: array.hpp:44
constexpr details::return_type< D, Types... > make_array(Types &&... t)
Definition: array.hpp:48
Definition: FordFulkerson.hpp:16
D type
Definition: array.hpp:38