SigSpec refactoring: added RTLIL::SigSpec::operator[]
authorClifford Wolf <clifford@clifford.at>
Tue, 22 Jul 2014 20:54:03 +0000 (22:54 +0200)
committerClifford Wolf <clifford@clifford.at>
Tue, 22 Jul 2014 20:54:03 +0000 (22:54 +0200)
kernel/rtlil.h

index facd43db456ffed0155b0c12488812f6f6d9e384..da3a2661ea91e19afc14cde421bb09c431a242c2 100644 (file)
@@ -522,6 +522,9 @@ public:
 
        int size() const { return width_; }
 
+       RTLIL::SigBit &operator[](int index) { unpack(); return bits_.at(index); }
+       const RTLIL::SigBit &operator[](int index) const { unpack(); return bits_.at(index); }
+
        void expand();
        void optimize();
        RTLIL::SigSpec optimized() const;
@@ -540,7 +543,7 @@ public:
        void remove_const();
 
        RTLIL::SigSpec extract(RTLIL::SigSpec pattern, RTLIL::SigSpec *other = NULL) const;
-       RTLIL::SigSpec extract(int offset, int length) const;
+       RTLIL::SigSpec extract(int offset, int length = 1) const;
 
        void append(const RTLIL::SigSpec &signal);
        void append_bit(const RTLIL::SigBit &bit);