|
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.
|
|