LLVM: llvm::dwarf_linker::parallel::ArrayList< T, ItemsGroupSize > Class Template Reference (original) (raw)
This class is a simple list of T structures. More...
#include "[DWARFLinker/Parallel/ArrayList.h](ArrayList%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| ArrayList (llvm::parallel::PerThreadBumpPtrAllocator *Allocator) | |
| T & | add (const T &Item) |
| Add specified Item to the list. | |
| void | forEach (ItemHandlerTy Handler) |
| Enumerate all items and apply specified Handler to each. | |
| bool | empty () |
| Check whether list is empty. | |
| void | erase () |
| Erase list. | |
| void | sort (function_ref< bool(const T &LHS, const T &RHS)> Comparator) |
| size_t | size () |
template<typename T, size_t ItemsGroupSize = 512>
class llvm::dwarf_linker::parallel::ArrayList< T, ItemsGroupSize >
This class is a simple list of T structures.
It keeps elements as pre-allocated groups to save memory for each element's next pointer. It allocates internal data using specified per-thread BumpPtrAllocator. Method add() can be called asynchronously.
Definition at line 23 of file ArrayList.h.
◆ ItemHandlerTy
template<typename T, size_t ItemsGroupSize = 512>
template<typename T, size_t ItemsGroupSize = 512>
◆ add()
template<typename T, size_t ItemsGroupSize = 512>
Add specified Item to the list.
Definition at line 29 of file ArrayList.h.
References allocateNewGroup(), Allocator, assert(), GroupsHead, llvm::dwarf_linker::parallel::ArrayList< T, ItemsGroupSize >::ItemsGroup::Items, llvm::dwarf_linker::parallel::ArrayList< T, ItemsGroupSize >::ItemsGroup::ItemsCount, LastGroup, llvm::dwarf_linker::parallel::ArrayList< T, ItemsGroupSize >::ItemsGroup::Next, and T.
◆ allocateNewGroup()
template<typename T, size_t ItemsGroupSize = 512>
◆ empty()
template<typename T, size_t ItemsGroupSize = 512>
◆ erase()
template<typename T, size_t ItemsGroupSize = 512>
◆ forEach()
template<typename T, size_t ItemsGroupSize = 512>
Enumerate all items and apply specified Handler to each.
Definition at line 63 of file ArrayList.h.
References GroupsHead, and T.
Referenced by sort().
◆ size()
template<typename T, size_t ItemsGroupSize = 512>
◆ sort()
template<typename T, size_t ItemsGroupSize = 512>
Definition at line 80 of file ArrayList.h.
References assert(), llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), forEach(), LHS, llvm::SmallVectorTemplateBase< T, bool >::push_back(), RHS, llvm::SmallVectorTemplateCommon< T, typename >::size(), and T.
◆ Allocator
template<typename T, size_t ItemsGroupSize = 512>
◆ GroupsHead
template<typename T, size_t ItemsGroupSize = 512>
◆ LastGroup
template<typename T, size_t ItemsGroupSize = 512>
The documentation for this class was generated from the following file:
- lib/DWARFLinker/Parallel/ArrayList.h