Module infinitree::fields [−][src]
Expand description
Traits and implementations for working with index members.
There are 3 ways to interact with an index field:
Store
: Store the field into the index.Query
: Query the field and load selected values into memory.Load
: Load all contents of the field into memory.
To implement how a field is actually stored in the index, we
define an access Strategy
. Currently 2 access strategies are
implemented in Infinitree, but the storage system is extensible.
SparseField
: Store the key in the index, but the value in the object storeLocalField
: Store both the key and the value in the index.
To learn more about index internals, see the module documentation
in the index
module.
Structs
A wrapper to allow working with trait objects and impl Trait
types when accessing the index field.
A strategy that stores both keys and values in the index
A multithreaded map implementation that can be freely copied and used with internal mutability across all operations.
A wrapper type that allows using any type that’s serializable using serde to be used as a member of the index.
A strategy that stores values in the object pool, while keeping keys in the index
Enums
Result of a query predicate.
Traits
Query an index field, but do not automatically load it into memory
A marker trait for value that can be used as a key in an index.
Load all data from the index field into memory.
Load data into memory where a predicate indicates it’s needed
Store data into the index.
Allows decoupling a storage strategy for index fields from the in-memory representation.
A marker trait for values that can be serialized and used as a value for an index field.