Removes std::optional from the API
This reverts commit 8aef4d549e.
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
This commit is contained in:
parent
a59adbb019
commit
d9244a7289
|
|
@ -17,7 +17,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <optional>
|
|
||||||
|
|
||||||
#include "Vector.hh"
|
#include "Vector.hh"
|
||||||
#include "Map.hh"
|
#include "Map.hh"
|
||||||
|
|
@ -109,7 +108,7 @@ public:
|
||||||
void setIsLeaf(bool is_leaf);
|
void setIsLeaf(bool is_leaf);
|
||||||
void setAttribute(const std::string &key,
|
void setAttribute(const std::string &key,
|
||||||
const std::string &value);
|
const std::string &value);
|
||||||
std::optional<std::string> getAttribute(const std::string &key) const;
|
std::string getAttribute(const std::string &key) const;
|
||||||
|
|
||||||
// Cell acts as port factory.
|
// Cell acts as port factory.
|
||||||
ConcretePort *makePort(const char *name);
|
ConcretePort *makePort(const char *name);
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <optional>
|
|
||||||
|
|
||||||
#include "Map.hh"
|
#include "Map.hh"
|
||||||
#include "Set.hh"
|
#include "Set.hh"
|
||||||
|
|
@ -76,8 +75,8 @@ public:
|
||||||
const PatternMatch *pattern) const override;
|
const PatternMatch *pattern) const override;
|
||||||
|
|
||||||
const char *name(const Cell *cell) const override;
|
const char *name(const Cell *cell) const override;
|
||||||
std::optional<std::string> getAttribute(const Cell *cell,
|
std::string getAttribute(const Cell *cell,
|
||||||
const std::string &key) const override;
|
const std::string &key) const override;
|
||||||
ObjectId id(const Cell *cell) const override;
|
ObjectId id(const Cell *cell) const override;
|
||||||
Library *library(const Cell *cell) const override;
|
Library *library(const Cell *cell) const override;
|
||||||
LibertyCell *libertyCell(Cell *cell) const override;
|
LibertyCell *libertyCell(Cell *cell) const override;
|
||||||
|
|
@ -112,8 +111,8 @@ public:
|
||||||
PortMemberIterator *memberIterator(const Port *port) const override;
|
PortMemberIterator *memberIterator(const Port *port) const override;
|
||||||
|
|
||||||
const char *name(const Instance *instance) const override;
|
const char *name(const Instance *instance) const override;
|
||||||
std::optional<std::string> getAttribute(const Instance *inst,
|
std::string getAttribute(const Instance *inst,
|
||||||
const std::string &key) const override;
|
const std::string &key) const override;
|
||||||
ObjectId id(const Instance *instance) const override;
|
ObjectId id(const Instance *instance) const override;
|
||||||
Cell *cell(const Instance *instance) const override;
|
Cell *cell(const Instance *instance) const override;
|
||||||
Instance *parent(const Instance *instance) const override;
|
Instance *parent(const Instance *instance) const override;
|
||||||
|
|
@ -299,7 +298,7 @@ public:
|
||||||
InstanceChildIterator *childIterator() const;
|
InstanceChildIterator *childIterator() const;
|
||||||
void setAttribute(const std::string &key,
|
void setAttribute(const std::string &key,
|
||||||
const std::string &value);
|
const std::string &value);
|
||||||
std::optional<std::string> getAttribute(const std::string &key) const;
|
std::string getAttribute(const std::string &key) const;
|
||||||
void addChild(ConcreteInstance *child);
|
void addChild(ConcreteInstance *child);
|
||||||
void deleteChild(ConcreteInstance *child);
|
void deleteChild(ConcreteInstance *child);
|
||||||
void addPin(ConcretePin *pin);
|
void addPin(ConcretePin *pin);
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <optional>
|
|
||||||
|
|
||||||
#include "Map.hh"
|
#include "Map.hh"
|
||||||
#include "StringUtil.hh"
|
#include "StringUtil.hh"
|
||||||
|
|
@ -146,8 +145,8 @@ public:
|
||||||
// Filename may return null.
|
// Filename may return null.
|
||||||
virtual const char *filename(const Cell *cell) = 0;
|
virtual const char *filename(const Cell *cell) = 0;
|
||||||
// Attributes can be null
|
// Attributes can be null
|
||||||
virtual std::optional<std::string> getAttribute(const Cell *cell,
|
virtual std::string getAttribute(const Cell *cell,
|
||||||
const std::string &key) const = 0;
|
const std::string &key) const = 0;
|
||||||
// Name can be a simple, bundle, bus, or bus bit name.
|
// Name can be a simple, bundle, bus, or bus bit name.
|
||||||
virtual Port *findPort(const Cell *cell,
|
virtual Port *findPort(const Cell *cell,
|
||||||
const char *name) const = 0;
|
const char *name) const = 0;
|
||||||
|
|
@ -210,8 +209,8 @@ public:
|
||||||
const PatternMatch *pattern) const;
|
const PatternMatch *pattern) const;
|
||||||
virtual InstanceSeq findInstancesHierMatching(const Instance *instance,
|
virtual InstanceSeq findInstancesHierMatching(const Instance *instance,
|
||||||
const PatternMatch *pattern) const;
|
const PatternMatch *pattern) const;
|
||||||
virtual std::optional<std::string> getAttribute(const Instance *inst,
|
virtual std::string getAttribute(const Instance *inst,
|
||||||
const std::string &key) const = 0;
|
const std::string &key) const = 0;
|
||||||
// Hierarchical path name.
|
// Hierarchical path name.
|
||||||
virtual const char *pathName(const Instance *instance) const;
|
virtual const char *pathName(const Instance *instance) const;
|
||||||
bool pathNameLess(const Instance *inst1,
|
bool pathNameLess(const Instance *inst1,
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,6 @@
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <functional>
|
#include <functional>
|
||||||
#include <optional>
|
|
||||||
|
|
||||||
#include "Network.hh"
|
#include "Network.hh"
|
||||||
|
|
||||||
|
|
@ -46,8 +45,8 @@ public:
|
||||||
const PatternMatch *pattern) const override;
|
const PatternMatch *pattern) const override;
|
||||||
|
|
||||||
const char *name(const Cell *cell) const override;
|
const char *name(const Cell *cell) const override;
|
||||||
std::optional<std::string> getAttribute(const Cell *cell,
|
std::string getAttribute(const Cell *cell,
|
||||||
const std::string &key) const override;
|
const std::string &key) const override;
|
||||||
ObjectId id(const Cell *cell) const override;
|
ObjectId id(const Cell *cell) const override;
|
||||||
Library *library(const Cell *cell) const override;
|
Library *library(const Cell *cell) const override;
|
||||||
LibertyCell *libertyCell(Cell *cell) const override;
|
LibertyCell *libertyCell(Cell *cell) const override;
|
||||||
|
|
@ -83,8 +82,8 @@ public:
|
||||||
bool hasMembers(const Port *port) const override;
|
bool hasMembers(const Port *port) const override;
|
||||||
|
|
||||||
ObjectId id(const Instance *instance) const override;
|
ObjectId id(const Instance *instance) const override;
|
||||||
std::optional<std::string> getAttribute(const Instance *inst,
|
std::string getAttribute(const Instance *inst,
|
||||||
const std::string &key) const override;
|
const std::string &key) const override;
|
||||||
Instance *topInstance() const override;
|
Instance *topInstance() const override;
|
||||||
Cell *cell(const Instance *instance) const override;
|
Cell *cell(const Instance *instance) const override;
|
||||||
Instance *parent(const Instance *instance) const override;
|
Instance *parent(const Instance *instance) const override;
|
||||||
|
|
|
||||||
|
|
@ -275,13 +275,13 @@ ConcreteCell::setAttribute(const std::string &key,
|
||||||
attribute_map_.insert(key, value);
|
attribute_map_.insert(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::string>
|
std::string
|
||||||
ConcreteCell::getAttribute(const std::string &key) const
|
ConcreteCell::getAttribute(const std::string &key) const
|
||||||
{
|
{
|
||||||
if (attribute_map_.hasKey(key)) {
|
if (attribute_map_.hasKey(key)) {
|
||||||
return attribute_map_.findKey(key);
|
return attribute_map_.findKey(key);
|
||||||
}
|
}
|
||||||
return {};
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
ConcretePort *
|
ConcretePort *
|
||||||
|
|
|
||||||
|
|
@ -606,7 +606,7 @@ ConcreteNetwork::filename(const Cell *cell)
|
||||||
return ccell->filename();
|
return ccell->filename();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::string>
|
std::string
|
||||||
ConcreteNetwork::getAttribute(const Cell *cell,
|
ConcreteNetwork::getAttribute(const Cell *cell,
|
||||||
const std::string &key) const
|
const std::string &key) const
|
||||||
{
|
{
|
||||||
|
|
@ -938,7 +938,7 @@ ConcreteNetwork::id(const Instance *instance) const
|
||||||
return inst->id();
|
return inst->id();
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::string>
|
std::string
|
||||||
ConcreteNetwork::getAttribute(const Instance *inst,
|
ConcreteNetwork::getAttribute(const Instance *inst,
|
||||||
const std::string &key) const
|
const std::string &key) const
|
||||||
{
|
{
|
||||||
|
|
@ -1689,13 +1689,13 @@ ConcreteInstance::setAttribute(const std::string &key,
|
||||||
attribute_map_.insert(key, value);
|
attribute_map_.insert(key, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::string>
|
std::string
|
||||||
ConcreteInstance::getAttribute(const std::string &key) const
|
ConcreteInstance::getAttribute(const std::string &key) const
|
||||||
{
|
{
|
||||||
if (attribute_map_.hasKey(key)) {
|
if (attribute_map_.hasKey(key)) {
|
||||||
return attribute_map_.findKey(key);
|
return attribute_map_.findKey(key);
|
||||||
}
|
}
|
||||||
return {};
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,7 @@ NetworkNameAdapter::id(const Cell *cell) const
|
||||||
return network_->id(cell);
|
return network_->id(cell);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::string>
|
std::string
|
||||||
NetworkNameAdapter::getAttribute(const Cell *cell,
|
NetworkNameAdapter::getAttribute(const Cell *cell,
|
||||||
const std::string &key) const
|
const std::string &key) const
|
||||||
{
|
{
|
||||||
|
|
@ -334,7 +334,7 @@ NetworkNameAdapter::cell(const Instance *instance) const
|
||||||
return network_->cell(instance);
|
return network_->cell(instance);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::optional<std::string>
|
std::string
|
||||||
NetworkNameAdapter::getAttribute(const Instance *inst,
|
NetworkNameAdapter::getAttribute(const Instance *inst,
|
||||||
const std::string &key) const
|
const std::string &key) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
18
tcl/StaTcl.i
18
tcl/StaTcl.i
|
|
@ -4186,14 +4186,7 @@ LibertyCell *liberty_cell() { return cmdNetwork()->libertyCell(self); }
|
||||||
bool is_leaf() { return cmdNetwork()->isLeaf(self); }
|
bool is_leaf() { return cmdNetwork()->isLeaf(self); }
|
||||||
CellPortIterator *
|
CellPortIterator *
|
||||||
port_iterator() { return cmdNetwork()->portIterator(self); }
|
port_iterator() { return cmdNetwork()->portIterator(self); }
|
||||||
string get_attribute(const char *key)
|
string get_attribute(const char *key) { return cmdNetwork()->getAttribute(self, key); }
|
||||||
{
|
|
||||||
std::optional<std::string> result = cmdNetwork()->getAttribute(self, key);
|
|
||||||
if (result) {
|
|
||||||
return result.value();
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
Port *
|
Port *
|
||||||
find_port(const char *name)
|
find_port(const char *name)
|
||||||
|
|
@ -4418,14 +4411,7 @@ find_pin(const char *name)
|
||||||
{
|
{
|
||||||
return cmdLinkedNetwork()->findPin(self, name);
|
return cmdLinkedNetwork()->findPin(self, name);
|
||||||
}
|
}
|
||||||
string get_attribute(const char *key)
|
string get_attribute(const char *key) { return cmdNetwork()->getAttribute(self, key); }
|
||||||
{
|
|
||||||
std::optional<std::string> result = cmdNetwork()->getAttribute(self, key);
|
|
||||||
if (result) {
|
|
||||||
return result.value();
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
} // Instance methods
|
} // Instance methods
|
||||||
|
|
||||||
%extend InstanceChildIterator {
|
%extend InstanceChildIterator {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue