Skip to main content

nominal_api_conjure/conjure/objects/scout/compute/api/
range_start.rs

1#![allow(deprecated)]
2use std::fmt;
3use std::str;
4/// Selects which point of a satisfied condition begins the output range.
5#[derive(
6    Debug,
7    Clone,
8    PartialEq,
9    Eq,
10    PartialOrd,
11    Ord,
12    Hash,
13    conjure_object::serde::Deserialize,
14    conjure_object::serde::Serialize,
15    conjure_object::log_safety::derive::LogSafe
16)]
17#[serde(crate = "conjure_object::serde")]
18pub enum RangeStart {
19    #[serde(rename = "CONDITION_START")]
20    ConditionStart,
21    #[serde(rename = "PERSISTENCE_START")]
22    PersistenceStart,
23    /// An unknown variant.
24    #[serde(untagged)]
25    Unknown(Unknown),
26}
27impl RangeStart {
28    /// Returns the string representation of the enum.
29    #[inline]
30    pub fn as_str(&self) -> &str {
31        match self {
32            RangeStart::ConditionStart => "CONDITION_START",
33            RangeStart::PersistenceStart => "PERSISTENCE_START",
34            RangeStart::Unknown(v) => &*v,
35        }
36    }
37}
38impl fmt::Display for RangeStart {
39    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
40        fmt::Display::fmt(self.as_str(), fmt)
41    }
42}
43impl conjure_object::Plain for RangeStart {
44    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
45        conjure_object::Plain::fmt(self.as_str(), fmt)
46    }
47}
48impl str::FromStr for RangeStart {
49    type Err = conjure_object::plain::ParseEnumError;
50    #[inline]
51    fn from_str(v: &str) -> Result<RangeStart, conjure_object::plain::ParseEnumError> {
52        match v {
53            "CONDITION_START" => Ok(RangeStart::ConditionStart),
54            "PERSISTENCE_START" => Ok(RangeStart::PersistenceStart),
55            v => v.parse().map(|v| RangeStart::Unknown(Unknown(v))),
56        }
57    }
58}
59impl conjure_object::FromPlain for RangeStart {
60    type Err = conjure_object::plain::ParseEnumError;
61    #[inline]
62    fn from_plain(v: &str) -> Result<RangeStart, conjure_object::plain::ParseEnumError> {
63        v.parse()
64    }
65}
66///An unknown variant of the RangeStart enum.
67#[derive(
68    Debug,
69    Clone,
70    PartialEq,
71    Eq,
72    PartialOrd,
73    Ord,
74    Hash,
75    conjure_object::serde::Deserialize,
76    conjure_object::serde::Serialize,
77    conjure_object::log_safety::derive::LogSafe,
78)]
79#[serde(crate = "conjure_object::serde", transparent)]
80pub struct Unknown(conjure_object::private::Variant);
81impl std::ops::Deref for Unknown {
82    type Target = str;
83    #[inline]
84    fn deref(&self) -> &str {
85        &self.0
86    }
87}
88impl fmt::Display for Unknown {
89    #[inline]
90    fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {
91        fmt::Display::fmt(&self.0, fmt)
92    }
93}