#ifndef _PIN_NAME_HPP_ #define _PIN_NAME_HPP_ #include // Canonical form of a pin name for cross-card matching: // + . Returns the original name // unchanged when no digit suffix is present, or when the suffix mixes digits // with other characters. // // Examples: // "A1" -> "A001" // "A001" -> "A001" // "AB12" -> "AB012" // "12" -> "012" // "VCC" -> "VCC" // "A1B" -> "A1B" (mixed suffix, not canonicalised) // "P3.3V" -> "P3.3V" (mixed suffix) // // Used by IdentityTransform and CheckIdentityCompatible to match pin names // that differ only in zero-padding. Pin::name itself is preserved as-imported // so the original schematic notation survives in the UI and on disk. std::string canonical_pin_name(const std::string &name); #endif // _PIN_NAME_HPP_