class VectorImpl

Defined at line 40 of file ../../third_party/android/platform/system/core/include/utils/VectorImpl.h

Implementation of the guts of the vector

<

> class

this ensures backward binary compatibility and

reduces code size.

For performance reasons, we expose mStorage and mCount

so these fields are set in stone.

Public Methods

void VectorImpl (size_t itemSize, uint32_t flags)
void VectorImpl (const VectorImpl & rhs)
const void * arrayImpl ()

C-style array access

Defined at line 59 of file ../../third_party/android/platform/system/core/include/utils/VectorImpl.h

void ~VectorImpl ()
void finish_vector ()

must be called from subclasses destructor

VectorImpl & operator= (const VectorImpl & rhs)
void * editArrayImpl ()
size_t capacity ()
bool isEmpty ()

Defined at line 64 of file ../../third_party/android/platform/system/core/include/utils/VectorImpl.h

ssize_t setCapacity (size_t size)
ssize_t resize (size_t size)
ssize_t insertVectorAt (const VectorImpl & vector, size_t index)

append/insert another vector or array

ssize_t appendVector (const VectorImpl & vector)
ssize_t insertArrayAt (const void * array, size_t index, size_t length)
ssize_t appendArray (const void * array, size_t length)
ssize_t insertAt (size_t where, size_t numItems)

add/insert/replace items

ssize_t insertAt (const void * item, size_t where, size_t numItems)
void pop ()
void push ()
void push (const void * item)
ssize_t add ()
ssize_t add (const void * item)
ssize_t replaceAt (size_t index)
ssize_t replaceAt (const void * item, size_t index)
ssize_t removeItemsAt (size_t index, size_t count)

remove items

void clear ()
const void * itemLocation (size_t index)
void * editItemLocation (size_t index)
size_t size ()

vector stats

Defined at line 63 of file ../../third_party/android/platform/system/core/include/utils/VectorImpl.h

status_t sort (compar_t cmp)
status_t sort (compar_r_t cmp, void * state)

Protected Methods

size_t itemSize ()
void release_storage ()
void do_construct (void * storage, size_t num)
void do_destroy (void * storage, size_t num)
void do_copy (void * dest, const void * from, size_t num)
void do_splat (void * dest, const void * item, size_t num)
void do_move_forward (void * dest, const void * from, size_t num)
void do_move_backward (void * dest, const void * from, size_t num)

Enumerations

enum 
Name Value
HAS_TRIVIAL_CTOR 0x00000001
HAS_TRIVIAL_DTOR 0x00000002
HAS_TRIVIAL_COPY 0x00000004

Defined at line 43 of file ../../third_party/android/platform/system/core/include/utils/VectorImpl.h