CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::BitIterator< ContainerIterator > Class Template Reference

#include <CeresEngine/Foundation/Container/BitView.hpp>

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = BitReference< Word >
 
using difference_type = size_t
 
using reference = value_type
 

Public Member Functions

constexpr BitIterator (ContainerIterator i, const size_t o) noexcept
 
BitIteratoroperator++ (int) noexcept
 
BitIterator operator++ () noexcept
 
BitIteratoroperator-- (int) noexcept
 
BitIterator operator-- () noexcept
 
BitIterator operator+ (const int n) const noexcept
 
BitIterator operator- (const int n) const noexcept
 
size_t operator- (const BitIterator &other) const noexcept
 
constexpr bool operator!= (const BitIterator &other) const
 
constexpr bool operator== (const BitIterator &other) const
 
constexpr BitReference< Wordoperator* () const noexcept
 

Private Types

using Word = typename std::remove_reference< decltype(*std::declval< ContainerIterator >())>::type
 

Private Attributes

ContainerIterator mIterator
 
size_t mIndex
 

Static Private Attributes

static constexpr auto WORD_SIZE = WordSize<Word>::value
 

Member Typedef Documentation

◆ difference_type

◆ iterator_category

using CeresEngine::BitIterator< ContainerIterator >::iterator_category = std::random_access_iterator_tag

◆ reference

◆ value_type

◆ Word

using CeresEngine::BitIterator< ContainerIterator >::Word = typename std::remove_reference<decltype(*std::declval<ContainerIterator>())>::type
private

Constructor & Destructor Documentation

◆ BitIterator()

constexpr CeresEngine::BitIterator< ContainerIterator >::BitIterator ( ContainerIterator  i,
const size_t  o 
)
inlineconstexprnoexcept

Member Function Documentation

◆ operator!=()

◆ operator*()

◆ operator+()

◆ operator++() [1/2]

◆ operator++() [2/2]

◆ operator-() [1/2]

◆ operator-() [2/2]

◆ operator--() [1/2]

◆ operator--() [2/2]

◆ operator==()

Member Data Documentation

◆ mIndex

◆ mIterator

◆ WORD_SIZE

constexpr auto CeresEngine::BitIterator< ContainerIterator >::WORD_SIZE = WordSize<Word>::value
staticconstexprprivate

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