8 #include "../../odbdesign_export.h"
9 #include "../../IProtoBuffable.h"
10 #include "../../ProtoBuf/netlistfile.pb.h"
13 namespace Odb::Lib::FileModel::Design
20 unsigned int serialNumber;
24 std::unique_ptr<Odb::Lib::Protobuf::NetlistFile::NetRecord> to_protobuf()
const override;
25 void from_protobuf(
const Odb::Lib::Protobuf::NetlistFile::NetRecord& message)
override;
27 typedef std::vector<std::shared_ptr<NetRecord>> Vector;
28 typedef std::map<std::string, std::shared_ptr<NetRecord>> StringMap;
30 inline constexpr
static const char* FIELD_TOKEN =
"$";
43 unsigned int netNumber;
55 float staggeredRadius;
60 char testExecutionSide;
63 std::unique_ptr<Odb::Lib::Protobuf::NetlistFile::NetPointRecord> to_protobuf()
const override;
64 void from_protobuf(
const Odb::Lib::Protobuf::NetlistFile::NetPointRecord& message)
override;
66 typedef std::vector<std::shared_ptr<NetPointRecord>> Vector;
79 std::filesystem::path GetPath()
const;
80 std::string GetName()
const;
81 std::string GetUnits()
const;
83 bool GetOptimized()
const;
84 Staggered GetStaggered()
const;
86 const NetRecord::Vector& GetNetRecords()
const;
87 const NetRecord::StringMap& GetNetRecordsByName()
const;
88 const NetPointRecord::Vector& GetNetPointRecords()
const;
93 std::unique_ptr<Odb::Lib::Protobuf::NetlistFile> to_protobuf()
const override;
94 void from_protobuf(
const Odb::Lib::Protobuf::NetlistFile& message)
override;
96 typedef std::vector<std::shared_ptr<NetlistFile>> Vector;
97 typedef std::map<std::string, std::shared_ptr<NetlistFile>> StringMap;
100 std::filesystem::path m_path;
104 Staggered m_staggered;
106 NetRecord::Vector m_netRecords;
107 NetRecord::StringMap m_netRecordsByName;
108 NetPointRecord::Vector m_netPointRecords;
110 inline constexpr
static const char* UNITS_TOKEN =
"UNITS";
111 inline constexpr
static const char* COMMENT_TOKEN =
"#";
112 inline constexpr
static const char* HEADER_TOKEN =
"H";