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: Domain§vendor: Domain§product: SkewerCase§variant: SkewerCase§version: VersionImplementations§
Source§impl Specific
impl Specific
pub fn to_selector(&self) -> SpecificSelector
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Specific
impl<'de> Deserialize<'de> for Specific
Source§fn 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
Source§impl 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
Source§impl ValueMatcher<Specific> for SpecificSelector
impl ValueMatcher<Specific> for SpecificSelector
impl Eq for Specific
impl StructuralPartialEq for Specific
Auto Trait Implementations§
impl Freeze for Specific
impl RefUnwindSafe for Specific
impl Send for Specific
impl Sync for Specific
impl Unpin for Specific
impl UnwindSafe for Specific
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn 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
Source§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
Source§fn 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