3 #include "component.hpp" 4 #include "nlohmann/json_fwd.hpp" 6 #include "net_class.hpp" 7 #include "pool/pool.hpp" 8 #include "util/uuid.hpp" 29 static Block new_from_file(
const std::string &filename,
Pool &pool);
33 std::map<UUID, Net> nets;
34 std::map<UUID, Bus> buses;
35 std::map<UUID, Component> components;
36 std::map<UUID, NetClass> net_classes;
40 void operator=(
const Block &block);
42 void merge_nets(
Net *net,
Net *into);
56 void update_connection_count();
58 void update_diffpairs();
a class to store JSON values
Definition: json.hpp:161
Net * extract_pins(const std::set< UUIDPath< 3 >> &pins, Net *net=nullptr)
Takes pins specified by pins and moves them over to net.
Definition: block.cpp:218
Stores a sequence of up to 3 UUIDs.
Definition: uuid_path.hpp:13
Net * insert_net()
creates new net
Definition: block.cpp:97
A block is one level of hierarchy in the netlist.
Definition: block.hpp:25
Definition: uuid_ptr.hpp:9
void vacuum_nets()
deletes unreferenced nets
Definition: block.cpp:136
This class encapsulates a UUID and allows it to be uses as a value type.
Definition: uuid.hpp:16
Stores objects (Unit, Entity, Symbol, Part, etc.) from the pool.
Definition: pool.hpp:18
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61