Loading [MathJax]/extensions/tex2jax.js
Tatooine
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages Concepts
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder > Struct Template Reference

#include <vertex_container.h>

Collaboration diagram for tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >:
[legend]

Public Types

using grid_type = tatooine::structured_grid< Real, NumDimensions, IndexOrder >
 
using handle = typename grid_type::vertex_handle
 
using pos_type = typename grid_type::pos_type
 
using sequence_type = typename grid_type::sequence_type
 

Public Member Functions

 vertex_container (grid_type const &g)
 
auto at (integral auto const ... is) const
 
auto at (handle const &h) const
 
auto operator[] (handle const &h) const
 
auto operator() (integral auto const ... is) const
 
constexpr auto size () const
 
template<invocable< decltype(((void) std::declval< Dimensions >(), std::size_t{}))... > Iteration>
auto iterate_indices (Iteration &&iteration, execution_policy_tag auto const exec) const -> decltype(auto)
 
template<invocable< decltype(((void) std::declval< Dimensions >(), std::size_t{}))... > Iteration>
auto iterate_indices (Iteration &&iteration) const -> decltype(auto)
 
template<invocable< pos_type > Iteration>
auto iterate_positions (Iteration &&iteration) const -> decltype(auto)
 
template<invocable< pos_type > Iteration>
auto iterate_positions (Iteration &&iteration, execution_policy_tag auto const exec) const -> decltype(auto)
 

Static Public Member Functions

static constexpr auto num_dimensions () -> std::size_t
 

Private Member Functions

template<std::size_t... Is>
constexpr auto size (std::index_sequence< Is... >) const
 
template<invocable< decltype(((void) std::declval< Dimensions >(), std::size_t{}))... > Iteration, std::size_t... Ds>
auto iterate_indices (Iteration &&iteration, execution_policy_tag auto const exec, std::index_sequence< Ds... >) const -> decltype(auto)
 

Private Attributes

grid_type const & m_grid
 

Member Typedef Documentation

◆ grid_type

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
using tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::grid_type = tatooine::structured_grid<Real, NumDimensions, IndexOrder>

◆ handle

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
using tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::handle = typename grid_type::vertex_handle

◆ pos_type

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
using tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::pos_type = typename grid_type::pos_type

◆ sequence_type

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
using tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::sequence_type = typename grid_type::sequence_type

Constructor & Destructor Documentation

◆ vertex_container()

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::vertex_container ( grid_type const &  g)
inline

Member Function Documentation

◆ at() [1/2]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::at ( handle const &  h) const
inline

◆ at() [2/2]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::at ( integral auto const ...  is) const
inline

◆ iterate_indices() [1/3]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
template<invocable< decltype(((void) std::declval< Dimensions >(), std::size_t{}))... > Iteration>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::iterate_indices ( Iteration &&  iteration) const -> decltype(auto)
inline

◆ iterate_indices() [2/3]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
template<invocable< decltype(((void) std::declval< Dimensions >(), std::size_t{}))... > Iteration>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::iterate_indices ( Iteration &&  iteration,
execution_policy_tag auto const  exec 
) const -> decltype(auto)
inline

◆ iterate_indices() [3/3]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
template<invocable< decltype(((void) std::declval< Dimensions >(), std::size_t{}))... > Iteration, std::size_t... Ds>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::iterate_indices ( Iteration &&  iteration,
execution_policy_tag auto const  exec,
std::index_sequence< Ds... >   
) const -> decltype(auto)
inlineprivate

◆ iterate_positions() [1/2]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
template<invocable< pos_type > Iteration>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::iterate_positions ( Iteration &&  iteration) const -> decltype(auto)
inline

◆ iterate_positions() [2/2]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
template<invocable< pos_type > Iteration>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::iterate_positions ( Iteration &&  iteration,
execution_policy_tag auto const  exec 
) const -> decltype(auto)
inline

◆ num_dimensions()

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
static constexpr auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::num_dimensions ( ) -> std::size_t
inlinestaticconstexpr

◆ operator()()

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::operator() ( integral auto const ...  is) const
inline

◆ operator[]()

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::operator[] ( handle const &  h) const
inline

◆ size() [1/2]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
constexpr auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::size ( ) const
inlineconstexpr

◆ size() [2/2]

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
template<std::size_t... Is>
constexpr auto tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::size ( std::index_sequence< Is... >  ) const
inlineconstexprprivate

Member Data Documentation

◆ m_grid

template<typename Real , std::size_t NumDimensions, typename IndexOrder = x_fastest>
grid_type const& tatooine::detail::structured_grid::vertex_container< Real, NumDimensions, IndexOrder >::m_grid
private

The documentation for this struct was generated from the following file: