stellar_xdr/generated/
string64.rs1#[allow(unused_imports, clippy::wildcard_imports)]
2use super::*;
3
4#[cfg_attr(feature = "serde", cfg_eval::cfg_eval)]
11#[derive(Default, Clone, Hash, PartialEq, Eq, PartialOrd, Ord)]
12#[cfg_attr(feature = "arbitrary", derive(Arbitrary))]
13#[cfg_attr(
14 all(feature = "serde", feature = "alloc"),
15 serde_with::serde_as,
16 derive(serde::Serialize, serde::Deserialize),
17 serde(rename_all = "snake_case")
18)]
19#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
20#[derive(Debug)]
21pub struct String64(pub StringM<64>);
22
23impl From<String64> for StringM<64> {
24 #[must_use]
25 fn from(x: String64) -> Self {
26 x.0
27 }
28}
29
30impl From<StringM<64>> for String64 {
31 #[must_use]
32 fn from(x: StringM<64>) -> Self {
33 String64(x)
34 }
35}
36
37impl AsRef<StringM<64>> for String64 {
38 #[must_use]
39 fn as_ref(&self) -> &StringM<64> {
40 &self.0
41 }
42}
43
44impl ReadXdr for String64 {
45 #[cfg(feature = "std")]
46 fn read_xdr<R: Read>(r: &mut Limited<R>) -> Result<Self, Error> {
47 r.with_limited_depth(|r| {
48 let i = StringM::<64>::read_xdr(r)?;
49 let v = String64(i);
50 Ok(v)
51 })
52 }
53}
54
55impl WriteXdr for String64 {
56 #[cfg(feature = "std")]
57 fn write_xdr<W: Write>(&self, w: &mut Limited<W>) -> Result<(), Error> {
58 w.with_limited_depth(|w| self.0.write_xdr(w))
59 }
60}
61
62impl Deref for String64 {
63 type Target = StringM<64>;
64 fn deref(&self) -> &Self::Target {
65 &self.0
66 }
67}
68
69impl From<String64> for Vec<u8> {
70 #[must_use]
71 fn from(x: String64) -> Self {
72 x.0 .0
73 }
74}
75
76impl TryFrom<Vec<u8>> for String64 {
77 type Error = Error;
78 fn try_from(x: Vec<u8>) -> Result<Self, Error> {
79 Ok(String64(x.try_into()?))
80 }
81}
82
83#[cfg(feature = "alloc")]
84impl TryFrom<&Vec<u8>> for String64 {
85 type Error = Error;
86 fn try_from(x: &Vec<u8>) -> Result<Self, Error> {
87 Ok(String64(x.try_into()?))
88 }
89}
90
91impl AsRef<Vec<u8>> for String64 {
92 #[must_use]
93 fn as_ref(&self) -> &Vec<u8> {
94 &self.0 .0
95 }
96}
97
98impl AsRef<[u8]> for String64 {
99 #[cfg(feature = "alloc")]
100 #[must_use]
101 fn as_ref(&self) -> &[u8] {
102 &self.0 .0
103 }
104 #[cfg(not(feature = "alloc"))]
105 #[must_use]
106 fn as_ref(&self) -> &[u8] {
107 self.0 .0
108 }
109}