preserves/implementations/rust/src/value/mod.rs

40 lines
917 B
Rust
Raw Normal View History

pub mod codec;
2019-09-16 23:58:32 +00:00
pub mod constants;
pub mod de;
2019-09-15 15:16:17 +00:00
pub mod decoder;
pub mod encoder;
2019-09-16 23:58:32 +00:00
pub mod error;
pub mod ser;
pub mod value;
2020-05-23 20:33:02 +00:00
pub mod writer;
2019-09-16 23:58:32 +00:00
pub use codec::Codec;
2019-09-16 23:58:32 +00:00
pub use de::Deserializer;
pub use de::from_value;
pub use decoder::DecodePlaceholderMap;
pub use decoder::Decoder;
pub use encoder::EncodePlaceholderMap;
pub use encoder::Encoder;
pub use ser::Serializer;
pub use ser::to_value;
pub use value::Domain;
pub use value::NestedValue;
2019-09-16 23:58:32 +00:00
pub use value::Value;
pub use value::AnnotatedValue;
pub use value::PlainValue;
pub use value::RcValue;
pub use value::ArcValue;
pub use value::Set;
pub use value::Map;
pub fn invert_map<A, B>(m: &Map<A, B>) -> Map<B, A>
where A: Clone, B: Clone + Ord
{
use std::iter::FromIterator;
Map::from_iter(m.iter().map(|(a, b)| (b.clone(), a.clone())))
}
2020-05-23 20:33:02 +00:00
#[derive(Debug, Clone, PartialEq, Eq, Hash, PartialOrd, Ord)]
pub enum NullDomain {}
impl Domain for NullDomain {}