Struct cosmic_space::kind::Specific
source · pub struct Specific {
pub provider: Domain,
pub vendor: Domain,
pub product: SkewerCase,
pub variant: SkewerCase,
pub version: Version,
}Expand description
A Specific is used to extend the Kind system in The Cosmic Initiative to a very exact level.
when a Kind has a specific it is not only referencing something general like a Database,
but the vendor, product and version of that database among other things.
The Specific def looks like this provider.url:vendor.url:product:variant:version
- provider - this is the domain name of the person or entity that provided the driver that this specific defines
- vendor - the vendor that provides the product which may have had nothing to do with creating the driver
- product - the product
- variant - many products have variation and here it is where it is specificied
- version - this is a SemVer describing the exact version of the Specific
Example:
mechtronhub.com:postgres.org:postgres:gis:8.0.0
And the above would be embedde into the appropriate Base Kind and Sub Kind:
<Database<Rel<mechtronhub.com:postgres.org:postgres:gis:8.0.0>>>
Fields
provider: Domainvendor: Domainproduct: SkewerCasevariant: SkewerCaseversion: VersionImplementations
sourceimpl Specific
impl Specific
pub fn to_selector(&self) -> SpecificSelector
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Specific
impl<'de> Deserialize<'de> for Specific
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl TryInto<SpecificSelectorDef<Pattern<Domain>, Pattern<Domain>, Pattern<SkewerCase>, Pattern<SkewerCase>, VersionReq>> for Specific
impl TryInto<SpecificSelectorDef<Pattern<Domain>, Pattern<Domain>, Pattern<SkewerCase>, Pattern<SkewerCase>, VersionReq>> for Specific
sourceimpl ValueMatcher<Specific> for SpecificSelector
impl ValueMatcher<Specific> for SpecificSelector
impl Eq for Specific
impl StructuralEq for Specific
impl StructuralPartialEq for Specific
Auto Trait Implementations
impl RefUnwindSafe for Specific
impl Send for Specific
impl Sync for Specific
impl Unpin for Specific
impl UnwindSafe for Specific
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
sourcefn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
sourceimpl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
sourcefn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more