futuresdr_types/
port_id.rs1use std::fmt;
2
3#[derive(Debug, Clone)]
5pub enum PortId {
6 Index(usize),
8 Name(String),
10}
11
12impl From<usize> for PortId {
13 fn from(item: usize) -> Self {
14 PortId::Index(item)
15 }
16}
17
18impl From<&str> for PortId {
19 fn from(item: &str) -> Self {
20 PortId::Name(item.to_string())
21 }
22}
23
24impl From<String> for PortId {
25 fn from(item: String) -> Self {
26 PortId::Name(item)
27 }
28}
29
30impl fmt::Display for PortId {
31 fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
32 match self {
33 Self::Index(i) => write!(f, "{}", i),
34 Self::Name(s) => write!(f, "{}", s),
35 }
36 }
37}