CGAL 6.1 - Homological Discrete Vector Fields
Loading...
Searching...
No Matches
CGAL::OSM::Bitboard::reverse_iterator Struct Reference

#include <CGAL/OSM/Bitboard.h>

Public Types

using iterator_category = std::forward_iterator_tag
 C++ mandatory type definitions.
 
using difference_type = std::ptrdiff_t
 
using value_type = std::uint64_t
 
using pointer = value_type *
 
using reference = value_type &
 

Public Member Functions

 reverse_iterator (const std::size_t _index, const std::size_t _size, const std::vector< std::uint64_t > &_boards)
 Reverse iterator constructor.
 
const std::size_t operator* () const
 Iterator dereference.
 
reverse_iteratoroperator++ ()
 Prefix incrementation.
 
reverse_iterator operator++ (int)
 Postfix incrementation.
 

Friends

bool operator== (const reverse_iterator &a, const reverse_iterator &b)
 Equality check.
 
bool operator!= (const reverse_iterator &a, const reverse_iterator &b)
 Inequality check.
 

Constructor & Destructor Documentation

◆ reverse_iterator()

CGAL::OSM::Bitboard::reverse_iterator::reverse_iterator ( const std::size_t  _index,
const std::size_t  _size,
const std::vector< std::uint64_t > &  _boards 
)

Reverse iterator constructor.

Parameters
[in]_indexThe initial index.
[in]_sizeThe bitboard size.
[in]_boardsThe reference to the bitboards.

Member Function Documentation

◆ operator*()

const std::size_t CGAL::OSM::Bitboard::reverse_iterator::operator* ( ) const

Iterator dereference.

Returns
A no-null index on the billboard or past-the-end index.

◆ operator++() [1/2]

reverse_iterator & CGAL::OSM::Bitboard::reverse_iterator::operator++ ( )

Prefix incrementation.

Finds the next not-null index.

Returns
The reference to the current iterator.

◆ operator++() [2/2]

reverse_iterator CGAL::OSM::Bitboard::reverse_iterator::operator++ ( int  )

Postfix incrementation.

Finds the next not-null index.

Returns
The pre-incremented iterator.

Friends And Related Function Documentation

◆ operator!=

bool operator!= ( const reverse_iterator a,
const reverse_iterator b 
)
friend

Inequality check.

Returns
True if the indices are different.

◆ operator==

bool operator== ( const reverse_iterator a,
const reverse_iterator b 
)
friend

Equality check.

Returns
True if the indices are equal.