Class bitvector_const_iterator

Synopsis

#include <include/EASTL/bitvector.h>

template <typename Element>
class bitvector_const_iterator

Description

No description yet.

Inheritance

Decsendents: bitvector_iterator

Methods

bitvector_const_iterator overloadbitvector_const_iterator
get_reference_type
operator!=
operator*
operator+
operator++ overload
operator+=
operator- overload
operator-- overload
operator-=
operator<
operator<=
operator=
operator==
operator>
operator>=
operator[]
validate

Source

Lines 86-145 in include/EASTL/bitvector.h.

template <typename Element>
class bitvector_const_iterator
{
public:
    typedef EASTL_ITC_NS::random_access_iterator_tag iterator_category;
    typedef bitvector_const_iterator<Element>        this_type;
    typedef bool                                     value_type;
    typedef bitvector_reference<Element>             reference_type;
    typedef ptrdiff_t                                difference_type;
    typedef Element                                  element_type;
    typedef element_type*                            pointer;           // This is wrong. It needs to be someting that acts as a pointer to a bit.
    typedef element_type&                            reference;         // This is not right. It needs to be someting that acts as a pointer to a bit.
    typedef eastl_size_t                             size_type;
protected:
    reference_type mReference;
    enum
    {
        kBitCount = (8 * sizeof(Element))
    };
public:
    bool operator*() const;
    bool operator[](difference_type n) const;
    bitvector_const_iterator();
    bitvector_const_iterator(const element_type* p, eastl_size_t i);
    bitvector_const_iterator(const reference_type& referenceType);
    bitvector_const_iterator& operator++();
    bitvector_const_iterator  operator++(int);
    bitvector_const_iterator& operator--();
    bitvector_const_iterator  operator--(int);
    bitvector_const_iterator& operator+=(difference_type dist);
    bitvector_const_iterator& operator-=(difference_type dist);
    bitvector_const_iterator  operator+ (difference_type dist) const;
    bitvector_const_iterator  operator- (difference_type dist) const;
    difference_type operator-(const this_type& rhs) const;
    bitvector_const_iterator& operator= (const this_type& rhs);
    bool operator==(const this_type& rhs) const;
    bool operator!=(const this_type& rhs) const;
    bool operator< (const this_type& rhs) const;
    bool operator<=(const this_type& rhs) const;
    bool operator> (const this_type& rhs) const;
    bool operator>=(const this_type& rhs) const;
    int validate(const element_type* pStart, const element_type* pEnd, eastl_size_t nExtraBits) const;
protected:
    template <typename, typename, typename>
    friend class bitvector;
    reference_type& get_reference_type() { return mReference; }
};





Add Discussion as Guest

Log in