This is the documentation for Enlighten.

class Geo GeoList

template<class, class>
class Geo::GeoList

    └>_Alloc

Our implementation of an STL list, with some modifications.

  • The class is defined as NonCopyable (so no copy constructor or assignment operator). Required as you cannot report out-of-memory in these functions.

  • All range insert methods (including assign) return bool, in order to report an error cleanly.

  • The iterator that insert (of various flavours) returns will be equal to GeoList::end() if the insert operation fails. It is the user's responsibility to check this before using it.

  • No changes to allocator policy, just created a simple allocator that passes through GEO_MALLOC and GEO_FREE. Can be switched to Geo::GeoFixedPoolAllocator.

Classes

Name Description
Geo::GeoList::const_iterator

Iterator for nonmutable GeoList.

Geo::GeoList::iterator

Iterator for mutable GeoList.

Typedefs

Name Description
allocator_type::difference_type _Dift

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

GeoList< _Ty, _Alloc > _Myt

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

allocator_type::reference _Reft

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

allocator_type::pointer _Tptr

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

_Alloc allocator_type

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

allocator_type::const_pointer const_pointer

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

allocator_type::const_reference const_reference

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

std::reverse_iterator< const_iterator > const_reverse_iterator

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

_Dift difference_type

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

_Tptr pointer

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

_Reft reference

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

std::reverse_iterator< iterator > reverse_iterator

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

allocator_type::size_type size_type

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

allocator_type::value_type value_type

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

Friends

Name Description
friend class iterator

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

Variables

Name Description
const size_t max_allocation_size = sizeof(_Node)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

Functions

Name Description
_Make_iter(const_iterator)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

~GeoList()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

assign(_Iter, _Iter)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

assign(size_type, const _Ty &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

back()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

back()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

begin()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

begin()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

clear()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

empty()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

end()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

end()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

erase(const_iterator)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

erase(const_iterator, const_iterator)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

front()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

front()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

GeoList(const allocator_type &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

GeoList()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

get_allocator()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

insert(const_iterator, _Iter, _Iter)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

insert(const_iterator, size_type, const _Ty &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

insert(const_iterator, const _Ty &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

max_size()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

merge(_Myt &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

merge(_Myt &, _Pr3)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

NonCopyable(NonCopyable &&)

Defaulted to allow move.

operator=(NonCopyable &&)

Defaulted to allow move.

pop_back()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

pop_front()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

push_back(const _Ty &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

push_front(const _Ty &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

rbegin()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

rbegin()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

remove(const _Ty &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

remove_if(_Pr1)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

rend()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

rend()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

resize(size_type, const _Ty &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

resize(size_type)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

reverse()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

size()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

sort()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

sort(_Pr3)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

splice(const_iterator, _Myt &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

splice(const_iterator, _Myt &, const_iterator)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

splice(const_iterator, _Myt &, const_iterator, const_iterator)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

swap(_Myt &)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

unique()

All functions and typedefs match those required by the C++0x standard (except where documented at class level).

unique(_Pr2)

All functions and typedefs match those required by the C++0x standard (except where documented at class level).


iterator Geo::GeoList< _Ty, _Alloc >::_Make_iter


public: iterator _Make_iter
(
    const_iterator _Where
) const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


Geo::GeoList< _Ty, _Alloc >::~GeoList


public: ~GeoList()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::assign


public: bool assign
(
    _Iter _First,
    _Iter _Last
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::assign


public: bool assign
(
    size_type _Count,
    const _Ty & _Val
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


const_reference Geo::GeoList< _Ty, _Alloc >::back


public: const_reference back() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


reference Geo::GeoList< _Ty, _Alloc >::back


public: reference back()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


iterator Geo::GeoList< _Ty, _Alloc >::begin


public: iterator begin()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


const_iterator Geo::GeoList< _Ty, _Alloc >::begin


public: const_iterator begin() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::clear


public: void clear()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::empty


public: bool empty() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


iterator Geo::GeoList< _Ty, _Alloc >::end


public: iterator end()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


const_iterator Geo::GeoList< _Ty, _Alloc >::end


public: const_iterator end() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


iterator Geo::GeoList< _Ty, _Alloc >::erase


public: iterator erase
(
    const_iterator _Where
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


iterator Geo::GeoList< _Ty, _Alloc >::erase


public: iterator erase
(
    const_iterator _First,
    const_iterator _Last
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


reference Geo::GeoList< _Ty, _Alloc >::front


public: reference front()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


const_reference Geo::GeoList< _Ty, _Alloc >::front


public: const_reference front() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


Geo::GeoList< _Ty, _Alloc >::GeoList


public: GeoList
(
    const allocator_type & _Al
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


Geo::GeoList< _Ty, _Alloc >::GeoList


public: GeoList()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


allocator_type Geo::GeoList< _Ty, _Alloc >::get_allocator


public: allocator_type get_allocator() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::insert


public: bool insert
(
    const_iterator _Where,
    _Iter _First,
    _Iter _Last
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::insert


public: bool insert
(
    const_iterator _Where,
    size_type _Count,
    const _Ty & _Val
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


iterator Geo::GeoList< _Ty, _Alloc >::insert


public: iterator insert
(
    const_iterator _Where,
    const _Ty & _Val
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


Geo::s32 Geo::GeoList< _Ty, _Alloc >::max_size


public: Geo::s32 max_size() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::merge


public: void merge
(
    _Myt & _Right
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::merge


public: void merge
(
    _Myt & _Right,
    _Pr3 _Pred
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


Geo::NonCopyable::NonCopyable


public: NonCopyable
(
    NonCopyable &&
)


Defaulted to allow move.


NonCopyable& Geo::NonCopyable::operator=


public: NonCopyable & operator=
(
    NonCopyable &&
)


Defaulted to allow move.


void Geo::GeoList< _Ty, _Alloc >::pop_back


public: void pop_back()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::pop_front


public: void pop_front()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::push_back


public: bool push_back
(
    const _Ty & _Val
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::push_front


public: bool push_front
(
    const _Ty & _Val
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


reverse_iterator Geo::GeoList< _Ty, _Alloc >::rbegin


public: reverse_iterator rbegin()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


const_reverse_iterator Geo::GeoList< _Ty, _Alloc >::rbegin


public: const_reverse_iterator rbegin() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::remove


public: void remove
(
    const _Ty & _Val_arg
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::remove_if


public: void remove_if
(
    _Pr1 _Pred
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


const_reverse_iterator Geo::GeoList< _Ty, _Alloc >::rend


public: const_reverse_iterator rend() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


reverse_iterator Geo::GeoList< _Ty, _Alloc >::rend


public: reverse_iterator rend()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::resize


public: bool resize
(
    size_type _Newsize,
    const _Ty & _Val
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::resize


public: bool resize
(
    size_type _Newsize
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::reverse


public: void reverse()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


Geo::s32 Geo::GeoList< _Ty, _Alloc >::size


public: Geo::s32 size() const


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::sort


public: void sort()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::sort


public: void sort
(
    _Pr3 _Pred
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::splice


public: bool splice
(
    const_iterator _Where,
    _Myt & _Right
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::splice


public: bool splice
(
    const_iterator _Where,
    _Myt & _Right,
    const_iterator _First
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


bool Geo::GeoList< _Ty, _Alloc >::splice


public: bool splice
(
    const_iterator _Where,
    _Myt & _Right,
    const_iterator _First,
    const_iterator _Last
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::swap


public: void swap
(
    _Myt & _Right
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::unique


public: void unique()


All functions and typedefs match those required by the C++0x standard (except where documented at class level).


void Geo::GeoList< _Ty, _Alloc >::unique


public: void unique
(
    _Pr2 _Pred
)


All functions and typedefs match those required by the C++0x standard (except where documented at class level).