-ifndef(STREAM_HRL). -define(STREAM_HRL, true). -include("kvs.hrl"). -include("cursors.hrl"). -define(STREAM, [top/1, bot/1, next/1, prev/1, drop/1, take/1, append/2, cut/2, load_reader/1, writer/1, reader/1, save/1, add/1, remove/2]). -spec top(#reader{}) -> #reader{}. -spec bot(#reader{}) -> #reader{}. -spec next(#reader{}) -> #reader{} | {error,not_found | empty}. -spec prev(#reader{}) -> #reader{} | {error,not_found | empty}. -spec drop(#reader{}) -> #reader{}. -spec take(#reader{}) -> #reader{}. -spec load_reader (term()) -> #reader{}. -spec writer (term()) -> #writer{}. -spec reader (term()) -> #reader{}. -spec save (#reader{} | #writer{}) -> #reader{} | #writer{}. -spec add(#writer{}) -> #writer{}. -spec append(tuple(),term()) -> any(). -spec remove(tuple(),term()) -> integer(). -spec cut(term(),term()) -> {ok,non_neg_integer()} | {error, not_found}. -endif.