diff --git a/src/lib.rs b/src/lib.rs index d61b6c4..d17bab5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -259,6 +259,7 @@ pub struct IndexError { /// Port offset in a node #[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Hash)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] pub enum PortOffset { /// Input to a node /// diff --git a/src/weights.rs b/src/weights.rs index 27549ae..c9258b5 100644 --- a/src/weights.rs +++ b/src/weights.rs @@ -40,11 +40,15 @@ use std::ops::{Index, IndexMut}; +#[cfg(feature = "serde")] +use serde::{Deserialize, Serialize}; + use crate::{NodeIndex, PortIndex, SecondaryMap}; /// Graph component that encodes node and port weights. /// Based on two [`SecondaryMap`] containers. #[derive(Debug, Clone)] +#[cfg_attr(feature = "serde", derive(Deserialize, Serialize))] pub struct Weights { /// Node weights. pub nodes: SecondaryMap,