Motr  M0
varr.h File Reference
#include "lib/assert.h"
#include "lib/misc.h"
Include dependency graph for varr.h:

Go to the source code of this file.

Data Structures

struct  m0_varr_path_element
 
struct  m0_varr_cursor
 
struct  m0_varr
 

Macros

#define __MOTR_LIB_VIRTUAL_ARRAY_H__
 
#define m0_varr_iter(arr, type, idx, obj, start, end, inc)
 
#define m0_varr_enditer   } } )
 
#define m0_varr_for(arr, type, idx, obj)
 
#define m0_varr_endfor   m0_varr_enditer; })
 

Enumerations

enum  m0_varr_tree_char { M0_VA_TNODE_NR = 64, M0_VA_TNODEPTR_SIZE = sizeof(void *), M0_VA_TNODE_NR_SHIFT = 6, M0_VA_DEPTH_MAX = 16 }
 

Functions

 M0_BASSERT (M0_VA_TNODE_NR==M0_BITS(M0_VA_TNODE_NR_SHIFT))
 
M0_INTERNAL int m0_varr_init (struct m0_varr *arr, uint64_t nr, size_t size, size_t bufsize)
 
M0_INTERNAL void m0_varr_fini (struct m0_varr *arr)
 
M0_INTERNAL void * m0_varr_ele_get (struct m0_varr *arr, uint64_t index)
 
M0_INTERNAL uint64_t m0_varr_size (const struct m0_varr *arr)
 
M0_INTERNAL int m0_varr_cursor_init (struct m0_varr_cursor *cursor, const struct m0_varr *arr, uint32_t depth)
 
M0_INTERNAL void * m0_varr_cursor_get (struct m0_varr_cursor *cursor)
 
M0_INTERNAL int m0_varr_cursor_next (struct m0_varr_cursor *cursor)
 
M0_INTERNAL int m0_varr_cursor_move (struct m0_varr_cursor *cursor, uint64_t inc)
 

Macro Definition Documentation

◆ __MOTR_LIB_VIRTUAL_ARRAY_H__

#define __MOTR_LIB_VIRTUAL_ARRAY_H__

Definition at line 26 of file varr.h.