castep_param_io/param/general/
continuation.rs1use castep_param_derive::KeywordDisplay;
2use serde::{Deserialize, Serialize};
3
4#[derive(
5 Debug, Clone, Hash, Serialize, Deserialize, KeywordDisplay, PartialEq, Eq, PartialOrd, Ord,
6)]
7#[keyword_display(specified_fields = true)]
8pub enum ContinueReuse {
9 #[keyword_display(field = "CONTINUATION")]
10 Continuation(Continuation),
11 #[keyword_display(field = "REUSE")]
12 Reuse(Reuse),
13}
14
15impl Default for ContinueReuse {
16 fn default() -> Self {
17 Self::Continuation(Continuation::Default)
18 }
19}
20
21impl From<Continuation> for ContinueReuse {
22 fn from(value: Continuation) -> Self {
23 ContinueReuse::Continuation(value)
24 }
25}
26
27impl From<Reuse> for ContinueReuse {
28 fn from(value: Reuse) -> Self {
29 ContinueReuse::Reuse(value)
30 }
31}
32
33#[derive(
34 Debug,
35 Clone,
36 Default,
37 Hash,
38 Serialize,
39 Deserialize,
40 KeywordDisplay,
41 PartialEq,
42 Eq,
43 PartialOrd,
44 Ord,
45)]
46#[keyword_display(field = "CONTINUATION")]
47pub enum Continuation {
48 #[default]
49 Default,
50 File(String),
51}
52
53#[derive(
54 Debug,
55 Clone,
56 Default,
57 Hash,
58 Serialize,
59 Deserialize,
60 KeywordDisplay,
61 PartialEq,
62 Eq,
63 PartialOrd,
64 Ord,
65)]
66#[keyword_display(field = "REUSE")]
67pub enum Reuse {
68 #[default]
69 Default,
70 File(String),
71}