|
| SegmentedArray () noexcept(std::is_nothrow_default_constructible< MemManager >::value) |
|
| SegmentedArray (MemManager memManager) noexcept |
|
| SegmentedArray (size_t count, MemManager memManager=MemManager()) |
|
| SegmentedArray (size_t count, const Item &item, MemManager memManager=MemManager()) |
|
template<typename ArgIterator , typename = typename std::iterator_traits<ArgIterator>::iterator_category> |
| SegmentedArray (ArgIterator begin, ArgIterator end, MemManager memManager=MemManager()) |
|
| SegmentedArray (std::initializer_list< Item > items) |
|
| SegmentedArray (std::initializer_list< Item > items, MemManager memManager) |
|
| SegmentedArray (SegmentedArray &&array) noexcept |
|
| SegmentedArray (const SegmentedArray &array) |
|
| SegmentedArray (const SegmentedArray &array, bool shrink) |
|
| SegmentedArray (const SegmentedArray &array, MemManager memManager) |
|
| ~SegmentedArray () noexcept |
|
SegmentedArray & | operator= (SegmentedArray &&array) noexcept |
|
SegmentedArray & | operator= (const SegmentedArray &array) |
|
void | Swap (SegmentedArray &array) noexcept |
|
ConstIterator | GetBegin () const noexcept |
|
Iterator | GetBegin () noexcept |
|
ConstIterator | GetEnd () const noexcept |
|
Iterator | GetEnd () noexcept |
|
const MemManager & | GetMemManager () const noexcept |
|
MemManager & | GetMemManager () noexcept |
|
size_t | GetCount () const noexcept |
|
template<typename MultiItemCreator > |
void | SetCountCrt (size_t count, const MultiItemCreator &multiItemCreator) |
|
void | SetCount (size_t count) |
|
void | SetCount (size_t count, const Item &item) |
|
bool | IsEmpty () const noexcept |
|
void | Clear (bool shrink=false) noexcept |
|
size_t | GetCapacity () const noexcept |
|
void | Reserve (size_t capacity) |
|
void | Shrink () noexcept |
|
void | Shrink (size_t capacity) noexcept |
|
const Item & | operator[] (size_t index) const |
|
Item & | operator[] (size_t index) |
|
const Item & | GetBackItem () const |
|
Item & | GetBackItem () |
|
template<typename ItemCreator > |
void | AddBackNogrowCrt (ItemCreator &&itemCreator) |
|
template<typename... ItemArgs> |
void | AddBackNogrowVar (ItemArgs &&... itemArgs) |
|
void | AddBackNogrow (Item &&item) |
|
void | AddBackNogrow (const Item &item) |
|
template<typename ItemCreator > |
void | AddBackCrt (ItemCreator &&itemCreator) |
|
template<typename... ItemArgs> |
void | AddBackVar (ItemArgs &&... itemArgs) |
|
void | AddBack (Item &&item) |
|
void | AddBack (const Item &item) |
|
template<typename ItemCreator > |
void | InsertCrt (size_t index, ItemCreator &&itemCreator) |
|
template<typename... ItemArgs> |
void | InsertVar (size_t index, ItemArgs &&... itemArgs) |
|
void | Insert (size_t index, Item &&item) |
|
void | Insert (size_t index, const Item &item) |
|
void | Insert (size_t index, size_t count, const Item &item) |
|
template<typename ArgIterator , typename = typename std::iterator_traits<ArgIterator>::iterator_category> |
void | Insert (size_t index, ArgIterator begin, ArgIterator end) |
|
void | Insert (size_t index, std::initializer_list< Item > items) |
|
void | RemoveBack (size_t count=1) |
|
void | Remove (size_t index, size_t count=1) |
|
template<typename ItemFilter > |
internal::EnableIf< internal::IsInvocable< const ItemFilter &, bool, const Item & >::value, size_t > | Remove (const ItemFilter &itemFilter) |
|
template<typename EqualFunc = std::equal_to<Item>> |
bool | Contains (const Item &item, const EqualFunc &equalFunc=EqualFunc()) const |
|
template<typename EqualFunc = std::equal_to<Item>> |
bool | IsEqual (const SegmentedArray &array, const EqualFunc &equalFunc=EqualFunc()) const |
|
template<typename TItem, typename TMemManager = MemManagerDefault, typename TItemTraits = SegmentedArrayItemTraits<TItem, TMemManager>, typename TSettings = SegmentedArraySettings<>>
class momo::SegmentedArray< TItem, TMemManager, TItemTraits, TSettings >
All SegmentedArray
functions and constructors have strong exception safety, but not the following cases:
- Functions
Insert
, InsertVar
, InsertCrt
, Remove
have basic exception safety.
Swap and move operations invalidate all container iterators.