CDT++
Causal Dynamical Triangulations in C++
Loading...
Searching...
No Matches
Public Member Functions | Private Types | Private Attributes | List of all members
move_tracker::MoveTracker< ManifoldType > Class Template Reference

The data and methods to track ergodic moves. More...

#include <Move_tracker.hpp>

+ Collaboration diagram for move_tracker::MoveTracker< ManifoldType >:

Public Member Functions

auto eight_two_moves () -> auto &
 Write access to (8,2) moves.
 
auto eight_two_moves () const
 Read access to (8,2) moves.
 
auto four_four_moves () -> auto &
 Write access to (4,4) moves.
 
auto four_four_moves () const
 Read access to (4,4) moves.
 
auto four_six_moves () -> auto &
 Write access to (4,6) moves.
 
auto four_six_moves () const
 Read access to (4,6) moves.
 
auto four_two_moves () -> auto &
 Write access to (4,2) moves.
 
auto four_two_moves () const
 Read access to (4,2) moves.
 
auto moves_view () const
 Get a view of the moves.
 
auto operator+= (MoveTracker const &rhs)
 The += operator for MoveTracker.
 
auto operator[] (gsl::index index) -> auto &
 The [] operator for MoveTracker.
 
auto operator[] (move_type const move) const -> auto &
 The [] operator for MoveTracker.
 
void reset ()
 Reset all moves counts to zero.
 
auto six_four_moves () -> auto &
 Write access to (6,4) moves.
 
auto six_four_moves () const
 Read access to (6,4) moves.
 
auto six_two_moves () -> auto &
 Write access to (6,2) moves.
 
auto six_two_moves () const
 Read access to (6,2) moves.
 
auto size () const noexcept
 Container size.
 
auto three_three_moves () -> auto &
 Write access to (3,3) moves.
 
auto three_three_moves () const
 Read access to (3,3) moves.
 
auto three_two_moves () -> auto &
 Write access to (3,2) moves.
 
auto three_two_moves () const
 Read access to (3,2) moves.
 
auto total () const noexcept
 Total moves.
 
auto two_eight_moves () -> auto &
 Write access to (2,8) moves.
 
auto two_eight_moves () const
 Read access to (2,8) moves.
 
auto two_four_moves () -> auto &
 Write access to (2,4) moves.
 
auto two_four_moves () const
 Read access to (2,4) moves.
 
auto two_six_moves () -> auto &
 Write access to (2,6) moves.
 
auto two_six_moves () const
 Read access to (2,6) moves.
 
auto two_three_moves () -> auto &
 Write access to (2,3) moves.
 
auto two_three_moves () const
 Read access to (2,3) moves.
 

Private Types

using Container = std::array< Int_precision, moves_per_dimension(ManifoldType::dimension)>
 

Private Attributes

Container moves = {0}
 

Detailed Description

template<typename ManifoldType>
class move_tracker::MoveTracker< ManifoldType >

The data and methods to track ergodic moves.

Template Parameters
ManifoldTypeThe type of manifold on which moves are made

Definition at line 89 of file Move_tracker.hpp.

Member Typedef Documentation

◆ Container

template<typename ManifoldType >
using move_tracker::MoveTracker< ManifoldType >::Container = std::array<Int_precision, moves_per_dimension(ManifoldType::dimension)>
private

Definition at line 91 of file Move_tracker.hpp.

Member Function Documentation

◆ eight_two_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::eight_two_moves ( ) -> auto&
inline

◆ eight_two_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::eight_two_moves ( ) const
inline

Read access to (8,2) moves.

Definition at line 255 of file Move_tracker.hpp.

◆ four_four_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::four_four_moves ( ) -> auto&
inline

◆ four_four_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::four_four_moves ( ) const
inline

Read access to (4,4) moves.

Returns
Value of number of (4,4) moves

Definition at line 212 of file Move_tracker.hpp.

◆ four_six_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::four_six_moves ( ) -> auto&
inline

◆ four_six_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::four_six_moves ( ) const
inline

Read access to (4,6) moves.

Definition at line 237 of file Move_tracker.hpp.

◆ four_two_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::four_two_moves ( ) -> auto&
inline

◆ four_two_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::four_two_moves ( ) const
inline

Read access to (4,2) moves.

Definition at line 225 of file Move_tracker.hpp.

◆ moves_view()

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::moves_view ( ) const
inline

Get a view of the moves.

Returns
Read-only container of moves

Definition at line 101 of file Move_tracker.hpp.

Referenced by MoveCommand< ManifoldType, ExpectedType, FunctionType >::print_errors().

◆ operator+=()

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::operator+= ( MoveTracker< ManifoldType > const &  rhs)
inline

The += operator for MoveTracker.

Parameters
rhsThe MoveTracker to be added
Returns
The sum of the individual elements of the MoveTrackers

Definition at line 128 of file Move_tracker.hpp.

◆ operator[]() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::operator[] ( gsl::index  index) -> auto&
inline

The [] operator for MoveTracker.

Parameters
indexThe index of the element to be accessed
Returns
The number of moves at the index

Definition at line 108 of file Move_tracker.hpp.

◆ operator[]() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::operator[] ( move_type const  move) const -> auto&
inline

The [] operator for MoveTracker.

Parameters
moveThe move type to be accessed
Returns
The number of moves of that type

Definition at line 118 of file Move_tracker.hpp.

References move_tracker::as_integer().

◆ reset()

template<typename ManifoldType >
void move_tracker::MoveTracker< ManifoldType >::reset ( )
inline

Reset all moves counts to zero.

Definition at line 258 of file Move_tracker.hpp.

Referenced by MoveCommand< ManifoldType, ExpectedType, FunctionType >::reset_counters().

◆ six_four_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::six_four_moves ( ) -> auto&
inline

◆ six_four_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::six_four_moves ( ) const
inline

Read access to (6,4) moves.

Definition at line 243 of file Move_tracker.hpp.

◆ six_two_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::six_two_moves ( ) -> auto&
inline

◆ six_two_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::six_two_moves ( ) const
inline

Read access to (6,2) moves.

Returns
Value of number of (6,2) moves

Definition at line 200 of file Move_tracker.hpp.

◆ size()

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::size ( ) const
inlinenoexcept

Container size.

Returns
The size of the container of moves

Definition at line 150 of file Move_tracker.hpp.

◆ three_three_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::three_three_moves ( ) -> auto&
inline

◆ three_three_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::three_three_moves ( ) const
inline

Read access to (3,3) moves.

Definition at line 231 of file Move_tracker.hpp.

◆ three_two_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::three_two_moves ( ) -> auto&
inline

◆ three_two_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::three_two_moves ( ) const
inline

Read access to (3,2) moves.

Returns
Value of number of (3,2) moves

Definition at line 176 of file Move_tracker.hpp.

◆ total()

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::total ( ) const
inlinenoexcept

◆ two_eight_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_eight_moves ( ) -> auto&
inline

◆ two_eight_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_eight_moves ( ) const
inline

Read access to (2,8) moves.

Definition at line 249 of file Move_tracker.hpp.

◆ two_four_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_four_moves ( ) -> auto&
inline

◆ two_four_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_four_moves ( ) const
inline

Read access to (2,4) moves.

Definition at line 219 of file Move_tracker.hpp.

◆ two_six_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_six_moves ( ) -> auto&
inline

◆ two_six_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_six_moves ( ) const
inline

Read access to (2,6) moves.

Returns
Value of number of (2,6) moves

Definition at line 188 of file Move_tracker.hpp.

◆ two_three_moves() [1/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_three_moves ( ) -> auto&
inline

◆ two_three_moves() [2/2]

template<typename ManifoldType >
auto move_tracker::MoveTracker< ManifoldType >::two_three_moves ( ) const
inline

Read access to (2,3) moves.

Returns
Value of number of (2,3) moves

Definition at line 164 of file Move_tracker.hpp.

Member Data Documentation

◆ moves

template<typename ManifoldType >
Container move_tracker::MoveTracker< ManifoldType >::moves = {0}
private

Definition at line 94 of file Move_tracker.hpp.


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