# Module mrdb_index # * [Data Types](#types) * [Function Index](#index) * [Function Details](#functions) ## Data Types ## ### index_value() ###

index_value() = any()
### iterator_action() ###

iterator_action() = mrdb:iterator_action()
### ix_iterator() ###

ix_iterator() = #mrdb_ix_iter{i = mrdb:mrdb_iterator(), type = set | bag, sub = pid() | mrdb:db_ref()}
### object() ###

object() = tuple()
## Function Index ##
fold/4
index_ref/2
iterator/2
iterator_close/1
iterator_move/2
rev_fold/4
select/3
select/4
select_reverse/3
select_reverse/4
with_iterator/3
## Function Details ## ### fold/4 ###

fold(Tab::mrdb:ref_or_tab(), IxPos::mrdb:index_position(), FoldFun::fun((index_value(), object() | [], Acc) -> Acc), Acc) -> Acc
### index_ref/2 ###

index_ref(Tab::mrdb:ref_or_tab(), Ix::mrdb:index_position()) -> mrdb:db_ref()

### iterator/2 ###

iterator(Tab::mrdb:ref_or_tab(), IxPos::mrdb:index_position()) -> {ok, ix_iterator()} | {error, term()}

### iterator_close/1 ###

iterator_close(Mrdb_ix_iter::ix_iterator()) -> ok

### iterator_move/2 ###

iterator_move(Mrdb_ix_iter::ix_iterator(), Dir::iterator_action()) -> {ok, index_value(), object()} | {error, term()}

### rev_fold/4 ###

rev_fold(Tab::mrdb:ref_or_tab(), IxPos::mrdb:index_position(), FoldFun::fun((index_value(), object() | [], Acc) -> Acc), Acc) -> Acc
### select/3 ### `select(Tab, Ix, MS) -> any()` ### select/4 ### `select(Tab, Ix, MS, Limit) -> any()` ### select_reverse/3 ### `select_reverse(Tab, Ix, MS) -> any()` ### select_reverse/4 ### `select_reverse(Tab, Ix, MS, Limit) -> any()` ### with_iterator/3 ###

with_iterator(Tab::mrdb:ref_or_tab(), IxPos::mrdb:index_position(), Fun::fun((ix_iterator()) -> Res)) -> Res