## **Overview**
**Related Modules:**
[Samgr](samgr.md)
**Description:**
Provides common objects and functions for Samgr and external modules.
This file provides simplified vector containers and downcast functions.
**Since:**
1.0
**Version:**
1.0
## **Summary**
## Data Structures
Defines the simplified vector class, which is extended by four elements. |
## Macros
GET_OFFSIZE(T, member) (long)((char *)&(((T *)(0))->member)) | Calculates the offset of the member in the T type. |
## Typedefs
typedef struct SimpleVector Defines the simplified vector class, which is extended by four elements. |
## Functions
VECTOR_Make (VECTOR_Key key, VECTOR_Compare compare) | Creates or initializes a vector object. |
VECTOR_Clear (Vector *vector) | |
VECTOR_Add (Vector *vector, void *element) | Adds an element to the vector. |
VECTOR_Size (Vector *vector) | Obtains the number of elements in the vector, including elements that have been set to NULL. |
VECTOR_Num (Vector *vector) | Obtains the number of valid elements in the vector, excluding elements that have been set to NULL. |
VECTOR_At (Vector *vector, int16 index) | Obtains the element at a specified position. |
VECTOR_Swap (Vector *vector, int16 index, void *element) | Swaps the element at a specified position in a vector with another element. |
VECTOR_Find (Vector *vector, const void *element) | Checks the position of an element. |
VECTOR_FindByKey (Vector *vector, const void *key) | Checks the position of the element with a specified key. |