pub enum PolygonSides {
Regular(RegularPolygonSides),
Irregular(IrregularPolygonSides),
}Expand description
A custom type to ensure polygon data has a minimum of 3 points.
Variants§
Regular(RegularPolygonSides)
A polygon described by a validated side count.
Irregular(IrregularPolygonSides)
A polygon described by explicit vertex offsets.
Implementations§
Source§impl PolygonSides
impl PolygonSides
Sourcepub fn deserialize<'de, D>(
deserializer: D,
) -> Result<PolygonSides, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
pub fn deserialize<'de, D>(
deserializer: D,
) -> Result<PolygonSides, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserializes either a regular side count or a list of irregular polygon points.
Integer values produce PolygonSides::Regular, while sequences of unique offsets
produce PolygonSides::Irregular.
Sourcepub fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
pub fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serializes PolygonSides::Regular as a u32 and PolygonSides::Irregular as a sequence of offsets.
Trait Implementations§
Source§impl Clone for PolygonSides
impl Clone for PolygonSides
Source§fn clone(&self) -> PolygonSides
fn clone(&self) -> PolygonSides
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PolygonSides
impl Debug for PolygonSides
Source§impl Default for PolygonSides
impl Default for PolygonSides
Source§fn default() -> PolygonSides
fn default() -> PolygonSides
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PolygonSides
impl<'de> Deserialize<'de> for PolygonSides
Source§fn deserialize<D>(
deserializer: D,
) -> Result<PolygonSides, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<PolygonSides, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl From<IrregularPolygonSides> for PolygonSides
impl From<IrregularPolygonSides> for PolygonSides
Source§fn from(value: IrregularPolygonSides) -> PolygonSides
fn from(value: IrregularPolygonSides) -> PolygonSides
Converts to this type from the input type.
Source§impl From<RegularPolygonSides> for PolygonSides
impl From<RegularPolygonSides> for PolygonSides
Source§fn from(value: RegularPolygonSides) -> PolygonSides
fn from(value: RegularPolygonSides) -> PolygonSides
Converts to this type from the input type.
Source§impl Serialize for PolygonSides
impl Serialize for PolygonSides
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for PolygonSides
impl RefUnwindSafe for PolygonSides
impl Send for PolygonSides
impl Sync for PolygonSides
impl Unpin for PolygonSides
impl UnsafeUnpin for PolygonSides
impl UnwindSafe for PolygonSides
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian().