Algorithm#

namespace samurai#

Enums

enum class Run#

Values:

enumerator Sequential#
enumerator Parallel#

Functions

template<std::size_t dim, class TInterval, std::size_t max_size, class Func>
inline void for_each_level(const CellArray<dim, TInterval, max_size> &ca, Func &&f, bool include_empty_levels = false)#
template<class Mesh, class Func>
inline void for_each_level(Mesh &mesh, Func &&f, bool include_empty_levels = false)#
template<std::size_t dim, class TInterval, class Func>
inline void for_each_interval(const LevelCellArray<dim, TInterval> &lca, Func &&f)#
template<std::size_t dim, class TInterval, class Func>
inline void for_each_interval(LevelCellArray<dim, TInterval> &lca, Func &&f)#
template<std::size_t dim, class TInterval, std::size_t max_size, class Func>
inline void for_each_interval(const CellArray<dim, TInterval, max_size> &ca, Func &&f)#
template<std::size_t dim, class TInterval, std::size_t max_size, class Func>
inline void for_each_interval(CellArray<dim, TInterval, max_size> &ca, Func &&f)#
template<class Mesh, class Func>
inline void for_each_interval(const Mesh &mesh, Func &&f)#
template<class Func, class F, class ...CT>
inline void for_each_interval(subset_operator<F, CT...> &set, Func &&f)#
template<std::size_t dim, class TInterval, class Func>
inline void for_each_meshinterval(const LevelCellArray<dim, TInterval> &lca, Func &&f)#
template<std::size_t dim, class TInterval, std::size_t max_size, class Func>
inline void for_each_meshinterval(const CellArray<dim, TInterval, max_size> &ca, Func &&f)#
template<class MeshIntervalType, class SetType, class Func>
inline void for_each_meshinterval(SetType &set, Func &&f)#
template<class MeshIntervalType, class SetType, class Func>
inline void parallel_for_each_meshinterval(SetType &set, Func &&f)#
template<class MeshIntervalType, Run run_type, class SetType, class Func>
inline void for_each_meshinterval(SetType &set, Func &&f)#
template<std::size_t dim, class TInterval, class Func>
inline void for_each_cell(const LevelCellArray<dim, TInterval> &lca, Func &&f)#
template<std::size_t dim, class TInterval, class Func, class F, class ...CT>
inline void for_each_cell(const LevelCellArray<dim, TInterval> &lca, subset_operator<F, CT...> set, Func &&f)#
template<std::size_t dim, class TInterval, std::size_t max_size, class Func>
inline void for_each_cell(const CellArray<dim, TInterval, max_size> &ca, Func &&f)#
template<class Mesh, class Func>
inline void for_each_cell(const Mesh &mesh, Func &&f)#
template<class Mesh, class Func>
inline void for_each_cell(const hold<Mesh> &mesh, Func &&f)#
template<class Mesh, class coord_type, class Func>
inline void for_each_cell(const Mesh &mesh, std::size_t level, const typename Mesh::interval_t &i, const coord_type &index, Func &&f)#
template<class Mesh, class SetType, class Func>
inline void for_each_cell(const Mesh &mesh, SetType &set, Func &&f)#
template<std::size_t dim, class TInterval, class index_t = typename TInterval::index_t, class coord_index_t = typename TInterval::coord_index_t>
inline auto find(const LevelCellArray<dim, TInterval> &lca, const xt::xtensor_fixed<coord_index_t, xt::xshape<dim>> &coord) -> index_t#
template<std::size_t dim, class TInterval, class coord_index_t = typename TInterval::coord_index_t, class index_t = typename TInterval::index_t>
inline auto find_on_dim(const LevelCellArray<dim, TInterval> &lca, std::size_t d, std::size_t start_index, std::size_t end_index, coord_index_t coord)#
namespace detail#

Functions

template<class ForwardIt, class T>
auto my_binary_search(ForwardIt first, ForwardIt last, const T &value)#
template<std::size_t dim, class TInterval, class index_t = typename TInterval::index_t, class coord_index_t = typename TInterval::coord_index_t>
inline auto find_impl(const LevelCellArray<dim, TInterval> &lca, std::size_t start_index, std::size_t end_index, const xt::xtensor_fixed<coord_index_t, xt::xshape<dim>> &coord, std::integral_constant<std::size_t, 0>) -> index_t#
template<std::size_t dim, class TInterval, class index_t = typename TInterval::index_t, class coord_index_t = typename TInterval::coord_index_t, std::size_t N>
inline auto find_impl(const LevelCellArray<dim, TInterval> &lca, std::size_t start_index, std::size_t end_index, const xt::xtensor_fixed<coord_index_t, xt::xshape<dim>> &coord, std::integral_constant<std::size_t, N>) -> index_t#