pub trait Query:
Debug
+ Default
+ Sized
+ for<'d> QueryDb<'d> {
type Key: Clone + Debug + Hash + Eq;
type Value: Clone + Debug;
type Storage;
const QUERY_INDEX: u16;
const QUERY_NAME: &'static str;
// Required methods
fn query_storage<'a>(
group_storage: &'a <Self as QueryDb<'_>>::GroupStorage,
) -> &'a Arc<Self::Storage>;
fn query_storage_mut<'a>(
group_storage: &'a <Self as QueryDb<'_>>::GroupStorage,
) -> &'a Arc<Self::Storage>;
}
Expand description
Trait implements by all of the “special types” associated with each of your queries.
Required Associated Constants§
Sourceconst QUERY_INDEX: u16
const QUERY_INDEX: u16
A unique index identifying this query within the group.
Sourceconst QUERY_NAME: &'static str
const QUERY_NAME: &'static str
Name of the query method (e.g., foo
)
Required Associated Types§
Required Methods§
Sourcefn query_storage<'a>(
group_storage: &'a <Self as QueryDb<'_>>::GroupStorage,
) -> &'a Arc<Self::Storage>
fn query_storage<'a>( group_storage: &'a <Self as QueryDb<'_>>::GroupStorage, ) -> &'a Arc<Self::Storage>
Extact storage for this query from the storage for its group.
Sourcefn query_storage_mut<'a>(
group_storage: &'a <Self as QueryDb<'_>>::GroupStorage,
) -> &'a Arc<Self::Storage>
fn query_storage_mut<'a>( group_storage: &'a <Self as QueryDb<'_>>::GroupStorage, ) -> &'a Arc<Self::Storage>
Extact storage for this query from the storage for its group.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.