icentral-label-map

Crates.ioicentral-label-map
lib.rsicentral-label-map
version0.1.0
created_at2025-04-04 20:52:02.177361+00
updated_at2025-04-04 20:52:02.177361+00
descriptionEfficiently manage label mappings within directed graphs, supporting complex node and edge transformations.
homepage
repository
max_upload_size
id1620734
size56,050
(klebs6)

documentation

README

Icentral Label Map

icentral-label-map is a versatile crate designed for handling label mappings within directed graphs. Employing advanced data structures, such as HashMap, this crate is optimized for efficiency when managing complex node relationships in graph theory applications. By leveraging the LabelMap structure, developers can create, modify, and query label maps dynamically, enabling seamless graph transformations and data manipulation.

Overview

The LabelMap structure is implemented with various methods allowing for the creation of named empty maps, insertion and retrieval of node mappings, and edge remapping. Detailed macro definitions ensure repetitive operations are minimized, promoting concise code within your applications.

Key Features:

  • Dynamic Mapping: Handle real-time updates to node mappings using insert_outin and resize_inout.
  • Graph Transformations: Effortlessly transform source and destination node pairs using mapped_edge and projected_edge.
  • Flexible Initialization: Generate label maps directly from graphs or specify initial sizes and default values.

Code Example

use icentral_label_map::LabelMap;

let mut map = LabelMap::empty("MyMap");
map.insert_outin(NodeId::new(1), NodeId::new(2));
let edge = map.mapped_edge(&Edge::new(NodeId::new(1), NodeId::new(2)));

Installation

Add the following dependency to your Cargo.toml:

[dependencies]
icentral-label-map = "0.1.0"

Note

This README.md file was generated by an AI model and may not be 100% accurate; however, it should be pretty good. Please refer to the source code and documentation for a detailed understanding of functionalities.

This crate is in the process of being translated from c++ to rust. Currently, it still needs exhaustive testing. It is likely there currently exist many glitches which need to be fixed before proper usage. This crate is based on the original icentral program developed by Fuad Jamor. Please see the following repository for details: https://github.com/fjamour/icentral.

For progress updates, see the workspacer rust project.

Commit count: 0

cargo fmt