Adding optional to differentiate between empty sets and unset attributes

Signed-off-by: Ethan Mahintorabi <[email protected]>
This commit is contained in:
Ethan Mahintorabi
2024-03-10 01:56:33 +00:00
parent 36c1bade14
commit 8aef4d549e
8 changed files with 48 additions and 23 deletions
+5 -4
View File
@@ -17,6 +17,7 @@
#pragma once
#include <functional>
#include <optional>
#include "Network.hh"
@@ -45,8 +46,8 @@ public:
const PatternMatch *pattern) const override;
const char *name(const Cell *cell) const override;
std::string getAttribute(const Cell *cell,
const std::string &key) const override;
std::optional<std::string> getAttribute(const Cell *cell,
const std::string &key) const override;
ObjectId id(const Cell *cell) const override;
Library *library(const Cell *cell) const override;
LibertyCell *libertyCell(Cell *cell) const override;
@@ -82,8 +83,8 @@ public:
bool hasMembers(const Port *port) const override;
ObjectId id(const Instance *instance) const override;
std::string getAttribute(const Instance *inst,
const std::string &key) const override;
std::optional<std::string> getAttribute(const Instance *inst,
const std::string &key) const override;
Instance *topInstance() const override;
Cell *cell(const Instance *instance) const override;
Instance *parent(const Instance *instance) const override;