AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
AVector< StoredType, Allocator > Class Template Reference

A std::vector with AUI extensions. More...

#include <AUI/Common/AVector.h>

Detailed Description

Member Function Documentation

> All members, including inherited

◆ contains()

template<class StoredType, class Allocator>
bool AVector< StoredType, Allocator >::contains ( const StoredType & value) const
inlinenoexcept
Returns
true if container contains an element, false otherwise.

◆ findIf()

template<class StoredType, class Allocator>
template<aui::predicate< StoredType > Predicate>
StoredType * AVector< StoredType, Allocator >::findIf ( Predicate && predicate)
inlinenodiscardnoexcept
Parameters
predicatepredicate
Returns
Pointer to the value on which the predicate returned true, nullptr otherwise

◆ first() [1/2]

template<class StoredType, class Allocator>
const StoredType & AVector< StoredType, Allocator >::first ( ) const
inlinenodiscardnoexcept
Sneaky assertions
Container is not empty.
Returns
the first element.

◆ first() [2/2]

template<class StoredType, class Allocator>
StoredType & AVector< StoredType, Allocator >::first ( )
inlinenodiscardnoexcept
Sneaky assertions
Container is not empty.
Returns
the first element.
Examples
examples/7guis/cells/src/AST.cpp.

◆ fromRange()

template<class StoredType, class Allocator>
template<aui::incrementable Iterator, aui::invocable< decltype(*std::declval< Iterator >())> UnaryOperation>
static auto AVector< StoredType, Allocator >::fromRange ( aui::range< Iterator > range,
UnaryOperation && transformer ) -> AVector<decltype(transformer(range.first()))>
inlinestaticnodiscard
Parameters
rangeitems to transform from.
transformertransformer function.
Returns
A new vector.

◆ indexOf()

template<class StoredType, class Allocator>
AOptional< size_t > AVector< StoredType, Allocator >::indexOf ( const StoredType & value) const
inlinenodiscardnoexcept
Parameters
valueelement to find.
Returns
index of the specified element. If element is not found, std::nullopt is returned.

◆ insertAll() [1/4]

template<class StoredType, class Allocator>
template<typename OtherContainer>
iterator AVector< StoredType, Allocator >::insertAll ( const OtherContainer & c)
inlinenoexcept

Inserts all values of the specified container to the end.

Template Parameters
OtherContainerother container type.
Parameters
cother container
Returns
iterator pointing to the first element inserted.

◆ insertAll() [2/4]

template<class StoredType, class Allocator>
template<typename OtherContainer>
iterator AVector< StoredType, Allocator >::insertAll ( iterator at,
const OtherContainer & c )
inlinenoexcept

Inserts all values of the specified container.

Template Parameters
OtherContainerother container type.
Parameters
atposition to insert at.
cother container
Returns
iterator pointing to the first element inserted.

◆ insertAll() [3/4]

template<class StoredType, class Allocator>
template<typename OtherContainer>
iterator AVector< StoredType, Allocator >::insertAll ( iterator at,
OtherContainer && c )
inlinenoexcept

Inserts all values of the specified container.

Template Parameters
OtherContainerother container type.
Parameters
atposition to insert at.
cother container
Returns
iterator pointing to the first element inserted.

◆ insertAll() [4/4]

template<class StoredType, class Allocator>
template<typename OtherContainer>
iterator AVector< StoredType, Allocator >::insertAll ( OtherContainer && c)
inlinenoexcept

Inserts all values of the specified container to the end.

Template Parameters
OtherContainerother container type.
Parameters
cother container
Returns
iterator pointing to the first element inserted.

◆ isSubsetOf()

template<class StoredType, class Allocator>
template<typename OtherContainer>
bool AVector< StoredType, Allocator >::isSubsetOf ( const OtherContainer & c) const
inlinenoexcept
Returns
true if c container is a subset of this container, false otherwise.

◆ last() [1/2]

template<class StoredType, class Allocator>
const StoredType & AVector< StoredType, Allocator >::last ( ) const
inlinenodiscardnoexcept
Sneaky assertions
Container is not empty.
Returns
the last element.

◆ last() [2/2]

template<class StoredType, class Allocator>
StoredType & AVector< StoredType, Allocator >::last ( )
inlinenodiscardnoexcept
Sneaky assertions
Container is not empty.
Returns
the last element.
Examples
examples/7guis/cells/src/AST.cpp.

◆ operator<<() [1/4]

template<class StoredType, class Allocator>
template<typename OtherContainer, std::enable_if_t<!std::is_convertible_v< OtherContainer, StoredType >, bool > = true>
self & AVector< StoredType, Allocator >::operator<< ( const OtherContainer & c)
inlinenoexcept

Shortcut to insertAll.

Parameters
ccontainer to push
Returns
self

◆ operator<<() [2/4]

template<class StoredType, class Allocator>
self & AVector< StoredType, Allocator >::operator<< ( const StoredType & rhs)
inlinenoexcept

Shortcut to push_back.

Parameters
rhsvalue to push
Returns
self

◆ operator<<() [3/4]

template<class StoredType, class Allocator>
template<typename OtherContainer, std::enable_if_t<!std::is_convertible_v< OtherContainer, StoredType >, bool > = true>
self & AVector< StoredType, Allocator >::operator<< ( OtherContainer && c)
inlinenoexcept

Shortcut to insertAll.

Parameters
ccontainer to push
Returns
self

◆ operator<<() [4/4]

template<class StoredType, class Allocator>
self & AVector< StoredType, Allocator >::operator<< ( StoredType && rhs)
inlinenoexcept

Shortcut to push_back.

Parameters
rhsvalue to push
Returns
self

◆ removeAll() [1/2]

template<class StoredType, class Allocator>
void AVector< StoredType, Allocator >::removeAll ( const StoredType & item)
inlinenoexcept

Removes all occurrences of item.

Parameters
itemelement to remove.

◆ removeAll() [2/2]

template<class StoredType, class Allocator>
template<typename T, aui::mapper< const StoredType &, const T & > Projection>
void AVector< StoredType, Allocator >::removeAll ( const T & item,
Projection projection )
inlinenoexcept

Removes all occurrences of item with specified projection.

Parameters
itemelement to remove.
projectioncallable that transforms const StoredType& to const T&. Can be any operator() cappable object, including lambda and pointer-to-member.

◆ removeAt()

template<class StoredType, class Allocator>
void AVector< StoredType, Allocator >::removeAt ( size_t index)
inlinenoexcept

Removes element at the specified index.

Sneaky assertions
index points to the existing element.
Parameters
indexindex of the element.

◆ removeFirst()

template<class StoredType, class Allocator>
AOptional< std::size_t > AVector< StoredType, Allocator >::removeFirst ( const StoredType & item)
inlinenoexcept

Removes first occurrence of item.

Parameters
itemelement to remove.
Returns
If the item is removed, it's index returned.

◆ removeIf()

template<class StoredType, class Allocator>
template<aui::predicate< StoredType > Predicate>
void AVector< StoredType, Allocator >::removeIf ( Predicate && predicate)
inlinenoexcept

Removes element if predicate(container[i]) == true.

Parameters
predicatepredicate

◆ removeIfFirst()

template<class StoredType, class Allocator>
template<aui::predicate< StoredType > Predicate>
void AVector< StoredType, Allocator >::removeIfFirst ( Predicate && predicate)
inlinenoexcept

Removes only the first element if predicate(container[i]) == true.

Parameters
predicatepredicate