1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
// Copyright (c) 2020-2021 Thomas Kramer.
// SPDX-FileCopyrightText: 2022 Thomas Kramer <code@tkramer.ch>
//
// SPDX-License-Identifier: AGPL-3.0-or-later
//! Representation of the solution of a placement problem.
//!
//! A trait based representation gives more flexibility.
pub use libreda_db::prelude as db;
use std::collections::HashMap;
use crate::place::placement_problem::PlacementStatus;
/// Representation of the placement solution.
pub trait PlacementSolution<C: db::LayoutBase> {
///
fn get_positions(&self) -> HashMap<C::CellInstId, db::SimpleTransform<C::Coord>>;
///
fn placement_status(&self, cell_instance: &C::CellInstId) -> PlacementStatus;
}