|
|
| ArrayOfSetsView ()=default |
| A constructor to create an uninitialized ArrayOfSetsView. More...
|
|
| ArrayOfSetsView (ArrayOfSetsView const &)=default |
| Default copy constructor. Performs a shallow copy and calls the chai::ManagedArray copy constructor.
|
|
| ArrayOfSetsView (ArrayOfSetsView &&)=default |
| Default move constructor.
|
|
constexpr | ArrayOfSetsView (INDEX_TYPE const numArrays, BUFFER_TYPE< INDEX_TYPE > const &offsets, BUFFER_TYPE< SIZE_TYPE > const &sizes, BUFFER_TYPE< T > const &values) |
| Construct a new ArrayOfArraysView from the given buffers. More...
|
|
ArrayOfSetsView & | operator= (ArrayOfSetsView const &)=default |
| Default copy assignment operator, this does a shallow copy. More...
|
|
ArrayOfSetsView & | operator= (ArrayOfSetsView &&)=default |
| Default move assignment operator, this does a shallow copy. More...
|
|
|
constexpr ArrayOfSetsView< T, INDEX_TYPE const, BUFFER_TYPE > | toView () const |
|
constexpr ArrayOfSetsView< T const, INDEX_TYPE const, BUFFER_TYPE > | toViewConst () const |
|
constexpr ArrayOfArraysView< T const, INDEX_TYPE const, true, BUFFER_TYPE > | toArrayOfArraysView () const |
|
|
constexpr INDEX_TYPE_NC | sizeOfSet (INDEX_TYPE const i) const |
|
constexpr INDEX_TYPE_NC | capacityOfSet (INDEX_TYPE const i) const |
|
bool | contains (INDEX_TYPE const i, T const &value) const |
|
void | consistencyCheck () const |
| Verify that the capacity of each set is greater than or equal to the size and that each set is sorted unique. More...
|
|
|
constexpr ArraySlice< T const, 1, 0, INDEX_TYPE_NC > | operator[] (INDEX_TYPE const i) const |
|
constexpr T const & | operator() (INDEX_TYPE const i, INDEX_TYPE const j) const |
|
|
bool | insertIntoSet (INDEX_TYPE const i, T const &value) const |
| Insert a value into the given set. More...
|
|
template<typename ITER > |
INDEX_TYPE_NC | insertIntoSet (INDEX_TYPE const i, ITER const first, ITER const last) const |
| Inserts multiple values into the given set. More...
|
|
bool | removeFromSet (INDEX_TYPE const i, T const &value) const |
| Remove a value from the given set. More...
|
|
template<typename ITER > |
INDEX_TYPE_NC | removeFromSet (INDEX_TYPE const i, ITER const first, ITER const last) const |
| Removes multiple values from the given set. More...
|
|
|
void | move (MemorySpace const space, bool const touch=true) const |
| Move this ArrayOfSets to the given memory space. More...
|
|
|
using | ParentClass = ArrayOfArraysView< T, INDEX_TYPE, std::is_const< T >::value, BUFFER_TYPE > |
| Alias for the parent class.
|
|
using | INDEX_TYPE_NC = typename ParentClass::INDEX_TYPE_NC |
| Since INDEX_TYPE should always be const we need an alias for the non const version.
|
|
using | SIZE_TYPE = std::conditional_t< CONST_SIZES, INDEX_TYPE const, INDEX_TYPE_NC > |
| The type contained by the m_sizes buffer.
|
|
using | INDEX_TYPE_NC = std::remove_const_t< INDEX_TYPE > |
| Since INDEX_TYPE should always be const we need an alias for the non const version.
|
|
using | SIZE_TYPE = std::conditional_t< CONST_SIZES, INDEX_TYPE const, INDEX_TYPE_NC > |
| The type contained by the m_sizes buffer.
|
|
using | PairOfBuffers = std::pair< BUFFER_TYPE< U > &, BUFFER_TYPE< U > const & > |
| Alias for a std::pair of buffers. More...
|
|
using | ValueType = T |
| An alias for the type contained in the inner arrays.
|
|
using | IndexType = INDEX_TYPE |
| The integer type used for indexing.
|
|
using | value_type = T |
| An alias for the type contained in the inner arrays, here for stl compatability.
|
|
using | size_type = INDEX_TYPE |
| The integer type used for indexing, here for stl compatability.
|
|
|
| ArrayOfSetsView (bool) |
| Protected constructor to be used by parent classes. More...
|
|
constexpr ArraySlice< T, 1, 0, INDEX_TYPE_NC > | getSetValues (INDEX_TYPE const i) const |
|
|
template<typename CALLBACKS > |
bool | insertIntoSetImpl (INDEX_TYPE const i, T const &value, CALLBACKS &&cbacks) const |
| Helper function to insert a value into the given set. More...
|
|
template<typename ITER , typename CALLBACKS > |
INDEX_TYPE_NC | insertIntoSetImpl (INDEX_TYPE const i, ITER const first, ITER const last, CALLBACKS &&cbacks) const |
| Inserts multiple values into the given set. More...
|
|
template<typename CALLBACKS > |
bool | removeFromSetImpl (INDEX_TYPE const i, T const &value, CALLBACKS &&cbacks) const |
| Helper function to remove a value from the given set. More...
|
|
template<typename ITER , typename CALLBACKS > |
INDEX_TYPE_NC | removeFromSetImpl (INDEX_TYPE const i, ITER const first, ITER const last, CALLBACKS &&cbacks) const |
| Removes multiple values from the given set. More...
|
|
| ArrayOfArraysView (bool) |
| Protected constructor to be used by parent classes. More...
|
|
void | resize (INDEX_TYPE const newSize, INDEX_TYPE const defaultArrayCapacity=0) |
| Set the number of arrays. More...
|
|
void | reserve (INDEX_TYPE const newCapacity) |
| Reserve space for the given number of arrays. More...
|
|
void | reserveValues (INDEX_TYPE const newValueCapacity, BUFFERS &... buffers) |
| Reserve space for the given number of values. More...
|
|
void | compress (BUFFERS &... buffers) |
| Compress the arrays so that the values of each array are contiguous with no extra capacity in between. More...
|
|
void | resizeFromCapacities (INDEX_TYPE const numSubArrays, INDEX_TYPE const *const capacities, BUFFERS &... buffers) |
| Clears the array and creates a new array with the given number of sub-arrays. More...
|
|
void | assimilate (ArrayOfArraysView< T, INDEX_TYPE, CONST_SIZES, BUFFER_TYPE > &&src) |
| Steal the resources of src , clearing it in the process. More...
|
|
void | resizeImpl (INDEX_TYPE const newSize, INDEX_TYPE const defaultArrayCapacity, BUFFERS &... buffers) |
| Set the number of arrays. More...
|
|
void | free (BUFFERS &... buffers) |
| Destroy all the objects held by this array and free all associated memory. More...
|
|
void | setEqualTo (INDEX_TYPE const srcNumArrays, INDEX_TYPE const srcMaxOffset, BUFFER_TYPE< INDEX_TYPE > const &srcOffsets, BUFFER_TYPE< INDEX_TYPE > const &srcSizes, BUFFER_TYPE< T > const &srcValues, PAIRS_OF_BUFFERS &&... pairs) |
| Set this ArrayOfArraysView equal to the provided arrays. More...
|
|
void | setCapacityOfArray (INDEX_TYPE const i, INDEX_TYPE const newCapacity, BUFFERS &... buffers) |
| Set the capacity of the given array. More...
|
|
void | setName (std::string const &name) |
| Set the name to be displayed whenever the underlying Buffer's user call back is called. More...
|
|
| ArrayOfArraysView ()=default |
| A constructor to create an uninitialized ArrayOfArraysView. More...
|
|
| ArrayOfArraysView (ArrayOfArraysView const &)=default |
| Default copy constructor. More...
|
|
constexpr | ArrayOfArraysView (ArrayOfArraysView &&src) |
| Default move constructor. More...
|
|
constexpr | ArrayOfArraysView (INDEX_TYPE const numArrays, BUFFER_TYPE< INDEX_TYPE > const &offsets, BUFFER_TYPE< SIZE_TYPE > const &sizes, BUFFER_TYPE< T > const &values) |
| Construct a new ArrayOfArraysView from the given buffers. More...
|
|
ArrayOfArraysView & | operator= (ArrayOfArraysView const &)=default |
| Default copy assignment operator. More...
|
|
ArrayOfArraysView & | operator= (ArrayOfArraysView &&src) |
| Move assignment operator.. More...
|
|
constexpr ArrayOfArraysView< T, INDEX_TYPE const, CONST_SIZES, BUFFER_TYPE > | toView () const |
|
constexpr ArrayOfArraysView< T, INDEX_TYPE const, true, BUFFER_TYPE > | toViewConstSizes () const |
|
constexpr ArrayOfArraysView< T const, INDEX_TYPE const, true, BUFFER_TYPE > | toViewConst () const |
|
constexpr INDEX_TYPE_NC | size () const |
|
constexpr INDEX_TYPE_NC | sizeOfArray (INDEX_TYPE const i) const |
|
CONSTEXPR_WITH_NDEBUG INDEX_TYPE_NC | capacity () const |
|
constexpr INDEX_TYPE_NC | capacityOfArray (INDEX_TYPE const i) const |
|
constexpr INDEX_TYPE_NC | valueCapacity () const |
|
constexpr ArraySlice< T, 1, 0, INDEX_TYPE_NC > | operator[] (INDEX_TYPE const i) const |
|
constexpr T & | operator() (INDEX_TYPE const i, INDEX_TYPE const j) const |
|
void | emplaceBack (INDEX_TYPE const i, ARGS &&... args) const |
| Append a value to an array. More...
|
|
void | emplaceBackAtomic (INDEX_TYPE const i, ARGS &&... args) const |
| Append a value to an array in a thread safe manner. More...
|
|
void | appendToArray (INDEX_TYPE const i, ITER const first, ITER const last) const |
| Append values to an array. More...
|
|
void | emplace (INDEX_TYPE const i, INDEX_TYPE const j, ARGS &&... args) const |
| Insert a value into an array. More...
|
|
void | insertIntoArray (INDEX_TYPE const i, INDEX_TYPE const j, ITER const first, ITER const last) const |
| Insert values into an array. More...
|
|
void | eraseFromArray (INDEX_TYPE const i, INDEX_TYPE const j, INDEX_TYPE const n=1) const |
| Erase values from an array. More...
|
|
void | registerTouch (MemorySpace const space) const |
| Touch the memory in space . More...
|
|
void | move (MemorySpace const space, bool touch=true) const |
| Move this ArrayOfArrays to the given memory space. More...
|
|
template<typename T, typename INDEX_TYPE, template< typename > class BUFFER_TYPE>
class LvArray::ArrayOfSetsView< T, INDEX_TYPE, BUFFER_TYPE >
This class provides a view into an array of sets like object.
- Template Parameters
-
T | the type stored in the arrays. |
INDEX_TYPE | the integer to use for indexing. |
When INDEX_TYPE is const m_offsets is not touched when copied between memory spaces. INDEX_TYPE should always be const since ArrayOfSetsview is not allowed to modify the offsets.
When T is const and INDEX_TYPE is const you cannot insert or remove from the View and neither the offsets, sizes, or values are touched when copied between memory spaces.
Definition at line 40 of file ArrayOfSetsView.hpp.