Freundlich's C++ toolkit
Typedefs | Functions
fcppt::container::array Namespace Reference

Functions for std::array. More...


template<typename Array >
using size = typename fcppt::container::array::detail::size< Array >::type
 Gets the size of an array. More...


template<typename Array1 , typename Array2 >
std::array< fcppt::type_traits::value_type< fcppt::type_traits::remove_cv_ref_t< Array1 > >, fcppt::container::array::size< fcppt::type_traits::remove_cv_ref_t< Array1 > >::value+fcppt::container::array::size< fcppt::type_traits::remove_cv_ref_t< Array2 > >::value > append (Array1 &&_array1, Array2 &&_array2)
 Appends two arrays. More...
template<typename Function , typename Array1 , typename... Arrays>
auto apply (Function const &_function, Array1 &&_array1, Arrays &&... _arrays) -> std::array< decltype(_function(fcppt::move_if_rvalue< Array1 >(std::declval< fcppt::container::to_reference_type< std::remove_reference_t< Array1 > > >()), fcppt::move_if_rvalue< Arrays >(std::declval< fcppt::container::to_reference_type< std::remove_reference_t< Arrays > > >())...)), fcppt::container::array::size< fcppt::type_traits::remove_cv_ref_t< Array1 > >::value >
 Applies a function to each tuple of elements of multiple arrays and returns an array containing the results. More...
template<std::size_t Size, typename Source >
fcppt::optional::object< std::array< fcppt::type_traits::value_type< fcppt::type_traits::remove_cv_ref_t< Source > >, Size >> from_range (Source &&_source)
 Creates a std::array out of a range. More...
template<typename Array , typename Function >
Array init (Function const &_function)
 Constructs an array by calling a function with static indices. More...
template<typename Array >
Array init_const (fcppt::type_traits::value_type< Array > const &_value)
 Constructs an array from a value. More...
template<typename Array , typename Function >
Array init_move (Function const &_function)
 Constructs an array by calling a function for every element. More...
template<typename Array1 , typename... Arrays>
std::array< fcppt::type_traits::value_type< fcppt::type_traits::remove_cv_ref_t< Array1 > >, fcppt::metal::from_number< std::size_t, ::metal::accumulate< ::metal::bind< ::metal::lambda< ::metal::add >, ::metal::bind< ::metal::lambda< fcppt::metal::to_number >, ::metal::bind< ::metal::lambda< fcppt::container::array::size >, ::metal::_2 > >, ::metal::_1 >, fcppt::metal::to_number< fcppt::container::array::size< fcppt::type_traits::remove_cv_ref_t< Array1 > > >, ::metal::list< fcppt::type_traits::remove_cv_ref_t< Arrays >... > > >::value > join (Array1 &&_array1, Arrays &&... _arrays)
 Appends multiple arrays. More...
template<typename... Args>
std::array< ::metal::front< ::metal::list< fcppt::type_traits::remove_cv_ref_t< Args >... > >, sizeof...(Args)> make (Args &&... _args)
 Make an array out of a parameter pack. More...
template<typename Array , typename Function >
auto map (Array &&_source, Function const &_function) -> std::array< decltype(_function(fcppt::move_if_rvalue< Array >(std::declval< fcppt::container::to_reference_type< std::remove_reference_t< Array > > >()))), fcppt::container::array::size< fcppt::type_traits::remove_cv_ref_t< Array > >::value >
 Applies a function to every element of an array and returns an array of the results. More...
template<typename Source , typename NewElement >
std::array< fcppt::type_traits::value_type< fcppt::type_traits::remove_cv_ref_t< Source > >, fcppt::container::array::size< fcppt::type_traits::remove_cv_ref_t< Source > >::value+1U > push_back (Source &&_source, NewElement &&_new_element)
 Pushes a new element to the back of an array. More...

Detailed Description

Functions for std::array.