Indexing
Indexes have type size_t, an unsigned integral type defined by your compiler, usually in <stddef.h>. Because size_t is unsigned, it allows 2n minus one, where n is the number of bits the size_t type has on your system.
Invalid indexes are signified by the special value RW_NPOS, defined in <rw/defs.h>.