└>_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.
Name | Description |
---|---|
Geo::GeoList::const_iterator | Iterator for nonmutable GeoList. |
Geo::GeoList::iterator | Iterator for mutable GeoList. |
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). |
Name | Description |
---|---|
friend class iterator | All functions and typedefs match those required by the C++0x standard (except where documented at class level). |
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). |
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). |
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).
public: ~GeoList()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
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).
public: const_reference back() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: reference back()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: iterator begin()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: const_iterator begin() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void clear()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: bool empty() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: iterator end()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: const_iterator end() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: iterator erase
(
const_iterator _Where
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
public: const_reference front() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: reference front()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: GeoList()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: GeoList
(
const allocator_type & _Al
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: allocator_type get_allocator() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
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).
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).
public: Geo::s32 max_size() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void merge
(
_Myt & _Right
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
public: void pop_back()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void pop_front()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
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).
public: reverse_iterator rbegin()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: const_reverse_iterator rbegin() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
public: void remove_if
(
_Pr1 _Pred
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: const_reverse_iterator rend() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: reverse_iterator rend()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
public: bool resize
(
size_type _Newsize
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void reverse()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: Geo::s32 size() const
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void sort()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void sort
(
_Pr3 _Pred
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
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).
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).
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).
public: void swap
(
_Myt & _Right
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void unique
(
_Pr2 _Pred
)
All functions and typedefs match those required by the C++0x standard (except where documented at class level).
public: void unique()
All functions and typedefs match those required by the C++0x standard (except where documented at class level).