Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
Aleph::CA::Null_Neighborhood< Rank > Class Template Reference

Placeholder neighbourhood for engines that drive block rules. More...

#include <tpl_ca_async_engine.H>

Public Types

using coord_type = Coord_Vec< Rank >
 Coordinate type accepted by for_each_offset.
 

Static Public Member Functions

static constexpr std::size_t radius () noexcept
 Always returns 0 (no offsets).
 
static constexpr std::size_t size () noexcept
 Always returns 0 (no offsets).
 
template<typename F >
static constexpr void for_each_offset (const coord_type &, F &&) noexcept
 No-op: the neighbourhood is empty.
 

Static Public Attributes

static constexpr std::size_t rank_v = Rank
 Lattice dimension.
 
static constexpr std::size_t size_v = 0
 Empty neighbourhood: zero offsets.
 
static constexpr std::size_t radius_v = 0
 Compile-time radius (zero, since the neighbourhood is empty).
 

Detailed Description

template<std::size_t Rank>
class Aleph::CA::Null_Neighborhood< Rank >

Placeholder neighbourhood for engines that drive block rules.

The Margolus update operates on 2×2 blocks and never queries a neighbourhood. To keep Async_Engine uniformly parameterised on a Neighborhood type, instantiate the engine with Null_Neighborhood<Rank>: the neighbourhood declares zero offsets and is therefore a no-op for any code path that consults it.

Template Parameters
Ranklattice dimension.

Definition at line 110 of file tpl_ca_async_engine.H.

Member Typedef Documentation

◆ coord_type

template<std::size_t Rank>
using Aleph::CA::Null_Neighborhood< Rank >::coord_type = Coord_Vec<Rank>

Coordinate type accepted by for_each_offset.

Definition at line 120 of file tpl_ca_async_engine.H.

Member Function Documentation

◆ for_each_offset()

template<std::size_t Rank>
template<typename F >
static constexpr void Aleph::CA::Null_Neighborhood< Rank >::for_each_offset ( const coord_type &  ,
F &&   
)
inlinestaticconstexprnoexcept

No-op: the neighbourhood is empty.

Template Parameters
Ffunctor type.

Definition at line 142 of file tpl_ca_async_engine.H.

◆ radius()

template<std::size_t Rank>
static constexpr std::size_t Aleph::CA::Null_Neighborhood< Rank >::radius ( )
inlinestaticconstexprnoexcept

Always returns 0 (no offsets).

Returns
0.

Definition at line 125 of file tpl_ca_async_engine.H.

◆ size()

template<std::size_t Rank>
static constexpr std::size_t Aleph::CA::Null_Neighborhood< Rank >::size ( )
inlinestaticconstexprnoexcept

Always returns 0 (no offsets).

Returns
0.

Definition at line 133 of file tpl_ca_async_engine.H.

Member Data Documentation

◆ radius_v

template<std::size_t Rank>
constexpr std::size_t Aleph::CA::Null_Neighborhood< Rank >::radius_v = 0
staticconstexpr

Compile-time radius (zero, since the neighbourhood is empty).

Definition at line 118 of file tpl_ca_async_engine.H.

◆ rank_v

template<std::size_t Rank>
constexpr std::size_t Aleph::CA::Null_Neighborhood< Rank >::rank_v = Rank
staticconstexpr

Lattice dimension.

Definition at line 114 of file tpl_ca_async_engine.H.

◆ size_v

template<std::size_t Rank>
constexpr std::size_t Aleph::CA::Null_Neighborhood< Rank >::size_v = 0
staticconstexpr

Empty neighbourhood: zero offsets.

Definition at line 116 of file tpl_ca_async_engine.H.


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