Lines Matching refs:sc_bit

22   sc_bit.h -- Bit class.
38 // $Log: sc_bit.h,v $
51 // Andy Goodrich: enabled deprecation message for sc_bit.
54 // Andy Goodrich: added warnings indicating that sc_bit is deprecated and that
73 class sc_bit;
81 // CLASS : sc_bit
87 class sc_bit
127 sc_bit() : m_val(false) { sc_deprecated_sc_bit(); }
130 explicit sc_bit(tp a) : m_val(to_value(a)) { sc_deprecated_sc_bit(); }
143 explicit sc_bit(const sc_logic &a); // non-VSIA
147 sc_bit(const sc_bit &a) : m_val(a.m_val) {}
151 ~sc_bit() {}
155 sc_bit &
156 operator = (const sc_bit &b)
163 sc_bit &operator op(tp b) { return (*this op sc_bit(b)); }
175 sc_bit &operator = (const sc_logic &b); // non-VSIA
178 sc_bit &
179 operator &= (const sc_bit &b)
185 sc_bit &
186 operator |= (const sc_bit &b)
192 sc_bit &
193 operator ^= (const sc_bit &b)
222 friend bool operator == (const sc_bit &a, const sc_bit &b);
223 friend bool operator != (const sc_bit &a, const sc_bit &b);
229 friend const sc_bit operator ~ (const sc_bit &a);
232 sc_bit &
240 friend const sc_bit operator | (const sc_bit &a, const sc_bit &b);
241 friend const sc_bit operator & (const sc_bit &a, const sc_bit &b);
242 friend const sc_bit operator ^ (const sc_bit &a, const sc_bit &b);
256 inline ret fun(const sc_bit& a, tp b) { return fun(a, sc_bit(b)); } \
257 inline ret fun(tp b, const sc_bit &a) { return fun(sc_bit(a), b); }
266 operator == (const sc_bit &a, const sc_bit &b)
272 operator != (const sc_bit &a, const sc_bit &b)
282 inline bool equal(const sc_bit &a, const sc_bit &b) { return (a == b); }
284 inline bool not_equal(const sc_bit &a, const sc_bit &b) { return (a != b); }
295 inline const sc_bit operator ~ (const sc_bit &a) { return sc_bit(!a.m_val); }
298 inline const sc_bit b_not(const sc_bit &a) { return (~a); }
301 inline void b_not(sc_bit &r, const sc_bit &a) { r = (~a); }
305 inline const sc_bit
306 operator & (const sc_bit &a, const sc_bit &b)
308 return sc_bit(a.m_val && b.m_val);
311 inline const sc_bit
312 operator | (const sc_bit &a, const sc_bit &b)
314 return sc_bit(a.m_val || b.m_val);
317 inline const sc_bit
318 operator ^ (const sc_bit &a, const sc_bit &b)
320 return sc_bit(a.m_val != b.m_val);
323 DEFN_BIN_FUN(const sc_bit,operator&)
324 DEFN_BIN_FUN(const sc_bit,operator|)
325 DEFN_BIN_FUN(const sc_bit,operator^)
328 inline const sc_bit b_and(const sc_bit &a, const sc_bit &b) { return a & b; }
329 inline const sc_bit b_or(const sc_bit &a, const sc_bit &b) { return a | b; }
330 inline const sc_bit b_xor(const sc_bit &a, const sc_bit &b) { return a ^ b; }
332 DEFN_BIN_FUN(const sc_bit,b_and)
333 DEFN_BIN_FUN(const sc_bit,b_or)
334 DEFN_BIN_FUN(const sc_bit,b_xor)
340 fun(sc_bit &r, const sc_bit &a, tp b) \
341 { r = fun(a, sc_bit(b)); } \
343 fun(sc_bit &r, tp a, const sc_bit &b) \
344 { r = fun(sc_bit(a), b); }
348 fun(sc_bit &r, const sc_bit &a, const sc_bit &b) { r = fun(a , b); } \
366 operator << (::std::ostream &os, const sc_bit &a)
373 operator >> (::std::istream &is, sc_bit &a)