trellis_core/
graph_support.rs1use crate::Graph;
2impl<C: Clone> Clone for Graph<C> {
3 fn clone(&self) -> Self {
4 Self {
5 next_node_id: self.next_node_id,
6 next_scope_id: self.next_scope_id,
7 next_output_key: self.next_output_key,
8 next_transaction_id: self.next_transaction_id,
9 revision: self.revision,
10 nodes: self.nodes.clone(),
11 scopes: self.scopes.clone(),
12 scope_children: self.scope_children.clone(),
13 input_values: self.input_values.clone(),
14 derived_specs: self.derived_specs.clone(),
15 derived_values: self.derived_values.clone(),
16 collection_specs: self.collection_specs.clone(),
17 collection_values: self.collection_values.clone(),
18 previous_collection_values: self.previous_collection_values.clone(),
19 collection_diffs: self.collection_diffs.clone(),
20 resource_planners: self.resource_planners.clone(),
21 resource_owners: self.resource_owners.clone(),
22 resource_payloads: self.resource_payloads.clone(),
23 resource_acquisitions: self.resource_acquisitions.clone(),
24 next_resource_acquisition: self.next_resource_acquisition,
25 output_specs: self.output_specs.clone(),
26 output_values: self.output_values.clone(),
27 outputs: self.outputs.clone(),
28 topology_cache: self.topology_cache.clone(),
29 audit: self.audit.clone(),
30 transaction_open: self.transaction_open,
31 }
32 }
33}
34
35impl Graph<()> {
36 pub fn new() -> Self {
38 Self::new_with_command_type()
39 }
40}
41
42impl<C> Default for Graph<C> {
43 fn default() -> Self {
44 Self::new_with_command_type()
45 }
46}