1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Copyright (c) 2020-2021 Thomas Kramer.
// SPDX-FileCopyrightText: 2022 Thomas Kramer
//
// SPDX-License-Identifier: AGPL-3.0-or-later

//! Re-export all traits defined in this crate.

pub use crate::hierarchy::traits::*;
pub use crate::l2n::*;
pub use crate::layout::traits::*;
pub use crate::netlist::traits::*;

/// Trait used for identifier types.
pub trait IdType: std::fmt::Debug + Clone + Eq + std::hash::Hash + 'static {}

impl<T> IdType for T where T: std::fmt::Debug + Clone + Eq + std::hash::Hash + 'static {}

/// Traid used for thread-safe.
pub trait IdTypeMT: IdType + Sync + Send {}

impl<T> IdTypeMT for T where T: IdType + Sync + Send {}