![]()  | 
  
    FD.io VPP
    v19.08.3-2-gbabecb413
    
   Vector Packet Processing 
   | 
 
Vector bootstrap header file. More...
 This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Data Structures | |
| struct | vec_header_t | 
| vector header structure  More... | |
Macros | |
| #define | vec_len(v) ((v) ? _vec_len(v) : 0) | 
| Number of elements in vector (rvalue-only, NULL tolerant)  More... | |
| #define | vec_bytes(v) (vec_len (v) * sizeof (v[0])) | 
| Number of data bytes in vector.  More... | |
| #define | vec_capacity(v, b) | 
| Total number of bytes that can fit in vector with current allocation.  More... | |
| #define | vec_max_len(v) (vec_capacity(v,0) / sizeof (v[0])) | 
| Total number of elements that can fit into vector.  More... | |
| #define | vec_set_len(v, l) | 
| Set vector length to a user-defined value.  More... | |
| #define | vec_reset_length(v) do { if (v) vec_set_len (v, 0); } while (0) | 
| Reset vector length to zero NULL-pointer tolerant.  More... | |
| #define | vec_end(v) ((v) + vec_len (v)) | 
| End (last data address) of vector.  More... | |
| #define | vec_is_member(v, e) ((e) >= (v) && (e) < vec_end (v)) | 
| True if given pointer is within given vector.  More... | |
| #define | vec_elt_at_index(v, i) | 
| Get vector value at index i checking that i is in bounds.  More... | |
| #define | vec_elt(v, i) (vec_elt_at_index(v,i))[0] | 
| Get vector value at index i.  More... | |
| #define | vec_foreach(var, vec) for (var = (vec); var < vec_end (vec); var++) | 
| Vector iterator.  More... | |
| #define | vec_foreach_backwards(var, vec) for (var = vec_end (vec) - 1; var >= (vec); var--) | 
| Vector iterator (reverse)  More... | |
| #define | vec_foreach_index(var, v) for ((var) = 0; (var) < vec_len (v); (var)++) | 
| Iterate over vector indices.  More... | |
| #define | vec_foreach_index_backwards(var, v) for ((var) = vec_len((v)) - 1; (var) >= 0; (var)--) | 
| Iterate over vector indices (reverse).  More... | |
Functions | |
| static uword | vec_header_bytes (uword header_bytes) | 
| static void * | vec_header (void *v, uword header_bytes) | 
| Find a user vector header.  More... | |
| static void * | vec_header_end (void *v, uword header_bytes) | 
| Find the end of user vector header.  More... | |
| static uword | vec_aligned_header_bytes (uword header_bytes, uword align) | 
| static void * | vec_aligned_header (void *v, uword header_bytes, uword align) | 
| static void * | vec_aligned_header_end (void *v, uword header_bytes, uword align) | 
Vector bootstrap header file.
Definition in file vec_bootstrap.h.
| #define vec_bytes | ( | v | ) | (vec_len (v) * sizeof (v[0])) | 
Number of data bytes in vector.
Definition at line 147 of file vec_bootstrap.h.
| #define vec_capacity | ( | v, | |
| b | |||
| ) | 
Total number of bytes that can fit in vector with current allocation.
Definition at line 151 of file vec_bootstrap.h.
| #define vec_elt | ( | v, | |
| i | |||
| ) | (vec_elt_at_index(v,i))[0] | 
Get vector value at index i.
Definition at line 194 of file vec_bootstrap.h.
| #define vec_elt_at_index | ( | v, | |
| i | |||
| ) | 
Get vector value at index i checking that i is in bounds.
Definition at line 187 of file vec_bootstrap.h.
| #define vec_end | ( | v | ) | ((v) + vec_len (v)) | 
End (last data address) of vector.
Definition at line 181 of file vec_bootstrap.h.
Vector iterator.
Definition at line 197 of file vec_bootstrap.h.
Vector iterator (reverse)
Definition at line 200 of file vec_bootstrap.h.
Iterate over vector indices.
Definition at line 204 of file vec_bootstrap.h.
Iterate over vector indices (reverse).
Definition at line 207 of file vec_bootstrap.h.
| #define vec_is_member | ( | v, | |
| e | |||
| ) | ((e) >= (v) && (e) < vec_end (v)) | 
True if given pointer is within given vector.
Definition at line 184 of file vec_bootstrap.h.
| #define vec_len | ( | v | ) | ((v) ? _vec_len(v) : 0) | 
Number of elements in vector (rvalue-only, NULL tolerant)
vec_len (v) checks for NULL, but cannot be used as an lvalue. If in doubt, use vec_len...
Definition at line 143 of file vec_bootstrap.h.
| #define vec_max_len | ( | v | ) | (vec_capacity(v,0) / sizeof (v[0])) | 
Total number of elements that can fit into vector.
Definition at line 160 of file vec_bootstrap.h.
| #define vec_reset_length | ( | v | ) | do { if (v) vec_set_len (v, 0); } while (0) | 
Reset vector length to zero NULL-pointer tolerant.
Definition at line 178 of file vec_bootstrap.h.
| #define vec_set_len | ( | v, | |
| l | |||
| ) | 
Set vector length to a user-defined value.
Definition at line 164 of file vec_bootstrap.h.
Definition at line 117 of file vec_bootstrap.h.
 Here is the call graph for this function:
 Here is the caller graph for this function:Definition at line 111 of file vec_bootstrap.h.
 Here is the call graph for this function:
 Here is the caller graph for this function:Definition at line 123 of file vec_bootstrap.h.
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  inlinestatic | 
Find a user vector header.
Finds the user header of a vector with unspecified alignment given the user pointer to the vector.
Definition at line 93 of file vec_bootstrap.h.
 Here is the call graph for this function:
 Here is the caller graph for this function:Definition at line 80 of file vec_bootstrap.h.
 Here is the call graph for this function:
 Here is the caller graph for this function:
      
  | 
  inlinestatic | 
Find the end of user vector header.
Finds the end of the user header of a vector with unspecified alignment given the user pointer to the vector.
Definition at line 105 of file vec_bootstrap.h.
 Here is the call graph for this function: