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(size_type, const _Ty &) | 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). |
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() | 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). |
get_allocator() | 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, _Iter, _Iter) | 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). |
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 &, const_iterator, const_iterator) | 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). |
swap(_Myt &) | 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). |
unique() | 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
(
size_type _Count,
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 >::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).
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).
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).
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).
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).
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).
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,
size_type _Count,
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 >::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).
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).
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,
const_iterator _First,
const_iterator _Last
)
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).
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
(
_Pr2 _Pred
)
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).