Re-added SigMap::allbits()
authorClifford Wolf <clifford@clifford.at>
Mon, 30 Nov 2015 18:43:52 +0000 (19:43 +0100)
committerClifford Wolf <clifford@clifford.at>
Mon, 30 Nov 2015 18:43:52 +0000 (19:43 +0100)
kernel/hashlib.h
kernel/sigtools.h

index 1f022e473c6302c27676f005eb1970f9ce11b564..413e77d319e5fb0384d556218428182112c0708d 100644 (file)
@@ -935,6 +935,8 @@ class mfp
        mutable std::vector<int> parents;
 
 public:
+       typedef typename idict<K, 0, OPS>::const_iterator const_iterator;
+
        int operator()(const K &key) const
        {
                int i = database(key);
@@ -1014,6 +1016,9 @@ public:
        size_t size() const { return database.size(); }
        bool empty() const { return database.empty(); }
        void clear() { database.clear(); parents.clear(); }
+
+       const_iterator begin() const { return database.begin(); }
+       const_iterator end() const { return database.end(); }
 };
 
 } /* namespace hashlib */
index d73c5623d3c61163650d8b70d2ec3b42eeac2bea..83ff470d25f3ada33d5215225b775bc3b4eb9798 100644 (file)
@@ -310,6 +310,15 @@ struct SigMap
                apply(sig);
                return sig;
        }
+
+       RTLIL::SigSpec allbits() const
+       {
+               RTLIL::SigSpec sig;
+               for (auto &bit : database)
+                       if (bit.wire != nullptr)
+                               sig.append(bit);
+               return sig;
+       }
 };
 
 YOSYS_NAMESPACE_END