ECOGEN 6.0
Evolutive, Compressible, Open, Genuine, Easy, N-phase
Loading...
Searching...
No Matches
decomposition::Key< Dim > Struct Template Reference

#include <key.hpp>

Classes

struct  hash_functor

Public Types

using value_type = unsigned long long int
using scalar_coordinate_type = int
using float_type = double
template<typename U>
using vector_type = math::vector<U, Dim>
using coordinate_type = vector_type<scalar_coordinate_type>
using real_coordinate_type = vector_type<float_type>

Public Member Functions

 Key () noexcept
 Key (value_type idx) noexcept
 Key (int x, int y, int z) noexcept
 Key (coordinate_type x) noexcept
 Key (const Key &)=default
 Key (Key &&)=default
Key & operator= (const Key &) &=default
Key & operator= (Key &&) &=default
coordinate_type coordinate () const noexcept
const value_type & index () const noexcept
value_type & index () noexcept
const value_type & getIndex () const noexcept
value_type & getIndex () noexcept
Key neighbor (const coordinate_type &_offset) const noexcept
Key child (int i) const noexcept
Key & operator++ () noexcept
Key & operator-- () noexcept
Key & operator+= (int) noexcept
Key & operator-= (int) noexcept

Static Public Member Functions

static value_type compute_index (const coordinate_type &_c) noexcept
static coordinate_type coordinate (const value_type &code) noexcept

Static Private Member Functions

template<int nDim = Dim>
static value_type split_bits (value_type w)
template<int nDim = Dim>
static value_type compress_bits (value_type w)
static value_type split_bits_impl (value_type w, std::integral_constant< int, 3 > *) noexcept
static scalar_coordinate_type compress_bits_impl (value_type w, std::integral_constant< int, 3 > *) noexcept
static value_type split_bits_impl (value_type x, std::integral_constant< int, 2 > *) noexcept
static scalar_coordinate_type compress_bits_impl (value_type w, std::integral_constant< int, 2 > *) noexcept

Private Attributes

value_type index_

Friends

std::ostream & operator<< (std::ostream &os, const Key &_k)

Member Typedef Documentation

◆ coordinate_type

template<int Dim>
using decomposition::Key< Dim >::coordinate_type = vector_type<scalar_coordinate_type>

◆ float_type

template<int Dim>
using decomposition::Key< Dim >::float_type = double

◆ real_coordinate_type

template<int Dim>
using decomposition::Key< Dim >::real_coordinate_type = vector_type<float_type>

◆ scalar_coordinate_type

template<int Dim>
using decomposition::Key< Dim >::scalar_coordinate_type = int

◆ value_type

template<int Dim>
using decomposition::Key< Dim >::value_type = unsigned long long int

◆ vector_type

template<int Dim>
template<typename U>
using decomposition::Key< Dim >::vector_type = math::vector<U, Dim>

Constructor & Destructor Documentation

◆ Key() [1/6]

template<int Dim>
decomposition::Key< Dim >::Key ( )
inlinenoexcept
Here is the caller graph for this function:

◆ Key() [2/6]

template<int Dim>
decomposition::Key< Dim >::Key ( value_type idx)
inlinenoexcept

◆ Key() [3/6]

template<int Dim>
decomposition::Key< Dim >::Key ( int x,
int y,
int z )
inlinenoexcept

◆ Key() [4/6]

template<int Dim>
decomposition::Key< Dim >::Key ( coordinate_type x)
inlinenoexcept

◆ Key() [5/6]

template<int Dim>
decomposition::Key< Dim >::Key ( const Key< Dim > & )
default
Here is the call graph for this function:

◆ Key() [6/6]

template<int Dim>
decomposition::Key< Dim >::Key ( Key< Dim > && )
default
Here is the call graph for this function:

Member Function Documentation

◆ child()

template<int Dim>
Key decomposition::Key< Dim >::child ( int i) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compress_bits()

template<int Dim>
template<int nDim = Dim>
value_type decomposition::Key< Dim >::compress_bits ( value_type w)
inlinestaticprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ compress_bits_impl() [1/2]

template<int Dim>
scalar_coordinate_type decomposition::Key< Dim >::compress_bits_impl ( value_type w,
std::integral_constant< int, 2 > *  )
inlinestaticprivatenoexcept

◆ compress_bits_impl() [2/2]

template<int Dim>
scalar_coordinate_type decomposition::Key< Dim >::compress_bits_impl ( value_type w,
std::integral_constant< int, 3 > *  )
inlinestaticprivatenoexcept
Here is the caller graph for this function:

◆ compute_index()

template<int Dim>
value_type decomposition::Key< Dim >::compute_index ( const coordinate_type & _c)
inlinestaticnoexcept
Here is the call graph for this function:

◆ coordinate() [1/2]

template<int Dim>
coordinate_type decomposition::Key< Dim >::coordinate ( ) const
inlinenoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ coordinate() [2/2]

template<int Dim>
coordinate_type decomposition::Key< Dim >::coordinate ( const value_type & code)
inlinestaticnoexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getIndex() [1/2]

template<int Dim>
const value_type & decomposition::Key< Dim >::getIndex ( ) const
inlinenoexcept
Here is the caller graph for this function:

◆ getIndex() [2/2]

template<int Dim>
value_type & decomposition::Key< Dim >::getIndex ( )
inlinenoexcept

◆ index() [1/2]

template<int Dim>
const value_type & decomposition::Key< Dim >::index ( ) const
inlinenoexcept

◆ index() [2/2]

template<int Dim>
value_type & decomposition::Key< Dim >::index ( )
inlinenoexcept

◆ neighbor()

template<int Dim>
Key decomposition::Key< Dim >::neighbor ( const coordinate_type & _offset) const
inlinenoexcept
Here is the call graph for this function:

◆ operator++()

template<int Dim>
Key & decomposition::Key< Dim >::operator++ ( )
inlinenoexcept
Here is the call graph for this function:

◆ operator+=()

template<int Dim>
Key & decomposition::Key< Dim >::operator+= ( int )
inlinenoexcept
Here is the call graph for this function:

◆ operator--()

template<int Dim>
Key & decomposition::Key< Dim >::operator-- ( )
inlinenoexcept
Here is the call graph for this function:

◆ operator-=()

template<int Dim>
Key & decomposition::Key< Dim >::operator-= ( int )
inlinenoexcept
Here is the call graph for this function:

◆ operator=() [1/2]

template<int Dim>
Key & decomposition::Key< Dim >::operator= ( const Key< Dim > & ) &
default
Here is the call graph for this function:

◆ operator=() [2/2]

template<int Dim>
Key & decomposition::Key< Dim >::operator= ( Key< Dim > && ) &
default
Here is the call graph for this function:

◆ split_bits()

template<int Dim>
template<int nDim = Dim>
value_type decomposition::Key< Dim >::split_bits ( value_type w)
inlinestaticprivate
Here is the call graph for this function:
Here is the caller graph for this function:

◆ split_bits_impl() [1/2]

template<int Dim>
value_type decomposition::Key< Dim >::split_bits_impl ( value_type w,
std::integral_constant< int, 3 > *  )
inlinestaticprivatenoexcept
Here is the caller graph for this function:

◆ split_bits_impl() [2/2]

template<int Dim>
value_type decomposition::Key< Dim >::split_bits_impl ( value_type x,
std::integral_constant< int, 2 > *  )
inlinestaticprivatenoexcept

◆ operator<<

template<int Dim>
std::ostream & operator<< ( std::ostream & os,
const Key< Dim > & _k )
friend

Member Data Documentation

◆ index_

template<int Dim>
value_type decomposition::Key< Dim >::index_
private

The documentation for this struct was generated from the following file:
  • /home/runner/work/ECOGEN/ECOGEN/doc_sources/src/Parallel/key.hpp