|
| template<typename Function, fcppt::container::grid::object_concept Grid1, fcppt::container::grid::object_concept... Grids> |
| auto | apply (Function const &_function, Grid1 &&_grid1, Grids &&..._grids) -> fcppt::container::grid::object< decltype(_function(fcppt::move_if_rvalue< Grid1 >(_grid1.get_unsafe(std::declval< fcppt::container::grid::pos_type< std::remove_cvref_t< Grid1 > > >())), fcppt::move_if_rvalue< Grids >(_grids.get_unsafe(std::declval< fcppt::container::grid::pos_type< std::remove_cvref_t< Grid1 > > >()))...)), std::remove_cvref_t< Grid1 >::static_size::value > |
| | Applies a function to multiple grids of the same size.
|
| template<typename Grid> |
| fcppt::optional::reference< fcppt::container::to_value_type< Grid > > | at_optional (Grid &_grid, fcppt::container::grid::pos_type< std::remove_cv_t< Grid > > const _pos) |
| | Returns a grid element as an optional.
|
| template<typename Source, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::min< std::make_unsigned_t< Source >, Size > | clamped_min (fcppt::container::grid::pos< Source, Size > const _pos) |
| | Clamps a signed position to min.
|
| template<typename Source, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::sup< Source, Size > | clamped_sup (fcppt::container::grid::pos< Source, Size > const _pos, fcppt::container::grid::dim< Source, Size > const _size) |
| | Clamps a position to a grid's size.
|
| template<typename Dest, typename Source, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::sup< Dest, Size > | clamped_sup_signed (fcppt::container::grid::pos< Source, Size > const _pos, fcppt::container::grid::dim< Dest, Size > const _size) |
| | Clamps a signed position to a grid's size.
|
| template<typename T, fcppt::container::grid::size_type N, typename A> |
| bool | operator== (fcppt::container::grid::object< T, N, A > const &_a, fcppt::container::grid::object< T, N, A > const &_b) |
| | Compares two grids for equality.
|
| template<typename T, fcppt::container::grid::size_type N, typename A> |
| bool | operator!= (fcppt::container::grid::object< T, N, A > const &_a, fcppt::container::grid::object< T, N, A > const &_b) |
| | !(a == b)
|
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::pos< SizeType, Size > | end_position (fcppt::container::grid::min< SizeType, Size > const _min, fcppt::container::grid::sup< SizeType, Size > const _sup) |
| | The end position of a range.
|
| template<typename T, fcppt::container::grid::size_type N, typename A, typename Function> |
| void | fill (fcppt::container::grid::object< T, N, A > &_grid, Function const &_function) |
| | Fills a grid using a function.
|
| template<typename T, fcppt::container::grid::size_type N, typename A> |
| bool | in_range (fcppt::container::grid::object< T, N, A > const &_grid, fcppt::container::grid::pos_type< fcppt::container::grid::object< T, N, A > > const &_pos) |
| | Checks if the given position _pos is out of bounds.
|
| template<typename T, fcppt::container::grid::size_type N> |
| bool | in_range_dim (fcppt::container::grid::dim< T, N > const _dim, fcppt::container::grid::pos< T, N > const _pos) |
| | Checks if the given position _pos is out of bounds.
|
| template<typename T, fcppt::container::grid::size_type N, typename A, typename F, typename Interpolator> |
| T | interpolate (fcppt::container::grid::object< T, N, A > const &_grid, fcppt::math::vector::static_< F, N > const &_floating_point_position, Interpolator const &_interpolator) |
| | Interpolates a value inside the grid cells.
|
| template<typename SizeType, fcppt::container::grid::size_type N> |
| fcppt::container::grid::min_from_pos< fcppt::container::grid::pos< SizeType, N > > | make_min (fcppt::container::grid::pos< SizeType, N > const _pos) |
| | Creates min from a pos value.
|
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::pos_range< SizeType, Size > | make_pos_range (fcppt::container::grid::dim< SizeType, Size > const _size) |
| | A range over all positions.
|
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::pos_range< SizeType, Size > | make_pos_range_start_end (fcppt::container::grid::min< SizeType, Size > const _min, fcppt::container::grid::sup< SizeType, Size > const _sup) |
| | A sub range over positions.
|
| template<typename Grid> |
| fcppt::container::grid::pos_ref_range< Grid const > | make_pos_ref_crange (Grid const &_grid) |
| | A const pos ref range over a grid.
|
| template<typename Grid> |
| fcppt::container::grid::pos_ref_range< Grid const > | make_pos_ref_crange_start_end (Grid const &_grid, typename fcppt::container::grid::pos_ref_range< Grid const >::min_type const _min, typename fcppt::container::grid::pos_ref_range< Grid const >::sup_type const _sup) |
| | A const pos ref range over a sub-grid.
|
| template<typename Grid> |
| fcppt::container::grid::pos_ref_range< Grid > | make_pos_ref_range (Grid &_grid) |
| | A pos ref range over a grid.
|
| template<typename Grid> |
| fcppt::container::grid::pos_ref_range< Grid > | make_pos_ref_range_start_end (Grid &_grid, typename fcppt::container::grid::pos_ref_range< Grid >::min_type const _min, typename fcppt::container::grid::pos_ref_range< Grid >::sup_type const _sup) |
| | A pos ref range over a sub-grid.
|
| template<typename Pos> |
| fcppt::container::grid::spiral_range< Pos > | make_spiral_range (Pos const _start, fcppt::type_traits::value_type< Pos > const _max_dist) |
| template<typename SizeType, fcppt::container::grid::size_type N> |
| fcppt::container::grid::sup_from_pos< fcppt::container::grid::pos< SizeType, N > > | make_sup (fcppt::container::grid::pos< SizeType, N > const _pos) |
| | Creates sup from a pos value.
|
| template<typename Source, typename Function> |
| auto | map (Source &&_source, Function const &_function) -> fcppt::container::grid::object< decltype(_function(fcppt::move_if_rvalue< Source >(_source.get_unsafe(std::declval< fcppt::container::grid::pos_type< std::remove_cvref_t< Source > > >())))), std::remove_cvref_t< Source >::static_size::value > |
| | Maps over grids.
|
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| bool | min_less_sup (fcppt::container::grid::min< SizeType, Size > const _min, fcppt::container::grid::sup< SizeType, Size > const _sup) |
| | Checks if min is strictly less than sup.
|
| template<typename T, fcppt::container::grid::size_type N> |
| fcppt::container::grid::moore_neighbor_array< fcppt::container::grid::pos< T, N > > | moore_neighbors (fcppt::container::grid::pos< T, N > const _pos) |
| | Computes the Moore neighbors.
|
| template<typename T, fcppt::container::grid::size_type N> |
| fcppt::container::grid::neumann_neighbor_array< fcppt::container::grid::pos< T, N > > | neumann_neighbors (fcppt::container::grid::pos< T, N > const _pos) |
| | Computes the von Neumann neighbors.
|
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::pos< SizeType, Size > | next_position (fcppt::container::grid::pos< SizeType, Size > const _current, fcppt::container::grid::min< SizeType, Size > const _min, fcppt::container::grid::sup< SizeType, Size > const _sup) |
| | Returns the next position in a grid range.
|
| template<typename T, fcppt::container::grid::size_type N, typename A> |
| void | swap (fcppt::container::grid::object< T, N, A > &, fcppt::container::grid::object< T, N, A > &) noexcept |
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| SizeType | offset (fcppt::container::grid::pos< SizeType, Size > const &_pos, fcppt::container::grid::dim< SizeType, Size > const &_size) |
| | Returns the absolute offset of a position.
|
| template<typename Ch, typename Traits, typename T, fcppt::container::grid::size_type N, typename A> |
| std::basic_ostream< Ch, Traits > & | operator<< (std::basic_ostream< Ch, Traits > &_stream, fcppt::container::grid::object< T, N, A > const &_object) |
| | Outputs a grid.
|
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| fcppt::container::grid::dim< SizeType, Size > | range_dim (fcppt::container::grid::min< SizeType, Size > const _min, fcppt::container::grid::sup< SizeType, Size > const _sup) |
| | The dimension of a grid range.
|
| template<typename SizeType, fcppt::container::grid::size_type Size> |
| SizeType | range_size (fcppt::container::grid::min< SizeType, Size > const _min, fcppt::container::grid::sup< SizeType, Size > const _sup) |
| | The number of elements in a grid range.
|
| template<typename Grid, typename Function> |
| std::remove_cvref_t< Grid > | resize (Grid &&_grid, fcppt::container::grid::dim_type< std::remove_cvref_t< Grid > > const &_new_size, Function const &_init) |
| | Returns a resized grid with potentially new elements.
|
template<typename Arg1, typename... Args>
requires ( std::conjunction_v<std::is_same<std::remove_cvref_t<Args>, std::remove_cvref_t<Arg1>>...>) |
| fcppt::container::grid::static_row_type< std::remove_cvref_t< Arg1 >, fcppt::cast::size< fcppt::container::grid::size_type >(sizeof...(Args)+1U)> | static_row (Arg1 &&_arg1, Args &&..._args) |
| | Creates an fcppt::container::grid::static_row_type.
|