Lines Matching refs:sc_concatref

22   sc_concatref.h -- Concatenation support.
37 Creation of sc_concatref class by merging the capabilities of
45 // $Log: sc_concatref.h,v $
57 // an sc_concatref instance.
68 // returns an sc_signed result, whereas an sc_concatref minus a value was
69 // returning an sc_unsigned result. Now both sc_unsigned and sc_concatref
95 class sc_concatref;
106 extern template class sc_vpool<sc_dt::sc_concatref>;
114 // CLASS TEMPLATE : sc_concatref
119 class sc_concatref : public sc_generic_base<sc_concatref>, public sc_value_base
122 friend class sc_core::sc_vpool<sc_concatref>;
152 virtual ~sc_concatref() {}
306 inline const sc_concatref &
314 inline const sc_concatref &
322 inline const sc_concatref &
330 inline const sc_concatref &
338 inline const sc_concatref &
346 inline const sc_concatref &
354 const sc_concatref &
355 operator = (const sc_concatref &v)
364 const sc_concatref &
372 const sc_concatref &
380 const sc_concatref &
390 const sc_concatref &
400 const sc_concatref &
431 static sc_core::sc_vpool<sc_concatref> m_pool;
447 sc_concatref(const sc_concatref &);
448 sc_concatref() : m_left_p(0), m_right_p(0), m_len(0), m_len_r(0), m_flags()
453 inline bool and_reduce(const sc_concatref &a) { return a.and_reduce(); }
454 inline bool nand_reduce(const sc_concatref &a) { return a.nand_reduce(); }
455 inline bool or_reduce(const sc_concatref &a) { return a.or_reduce(); }
456 inline bool nor_reduce(const sc_concatref &a) { return a.nor_reduce(); }
457 inline bool xor_reduce(const sc_concatref &a) { return a.xor_reduce(); }
458 inline bool xnor_reduce(const sc_concatref &a) { return a.xnor_reduce(); }
460 // SHIFT OPERATORS FOR sc_concatref OBJECT INSTANCES:
462 // Because sc_concatref has implicit casts to both uint64 and sc_unsigned
468 operator << (const sc_concatref &target, uint64 shift)
474 operator << (const sc_concatref &target, int64 shift)
480 operator << (const sc_concatref &target, unsigned long shift)
486 operator << (const sc_concatref &target, int shift)
492 operator << (const sc_concatref &target, unsigned int shift)
498 operator << (const sc_concatref &target, long shift)
504 operator >> (const sc_concatref &target, uint64 shift)
510 operator >> (const sc_concatref &target, int64 shift)
516 operator >> (const sc_concatref &target, unsigned long shift)
522 operator >> (const sc_concatref &target, int shift)
528 operator >> (const sc_concatref &target, unsigned int shift)
534 operator >> (const sc_concatref &target, long shift)
539 // STREAM OPERATORS FOR sc_concatref OBJECT INSTANCES:
541 operator << (::std::ostream &os, const sc_concatref &v)
547 operator >> (::std::istream &is, sc_concatref &a)
623 // ARITHMETIC AND LOGIC OPERATORS FOR sc_concatref
628 operator OP (const sc_concatref &a, OTHER_TYPE b) \
633 operator OP (OTHER_TYPE a, const sc_concatref &b) \
641 operator OP (const sc_concatref &a, const sc_concatref &b) \
656 operator OP (const sc_concatref &a, bool b) \
661 operator OP (bool a, const sc_concatref &b) \
668 operator OP (const sc_concatref &a, const sc_concatref &b) \
683 operator OP (const sc_concatref &a, bool b) \
688 operator OP (bool a, const sc_concatref &b) \
716 inline sc_dt::sc_concatref &
719 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
721 result_p = sc_dt::sc_concatref::m_pool.allocate();
726 inline const sc_dt::sc_concatref &
729 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
731 result_p = sc_dt::sc_concatref::m_pool.allocate();
736 inline const sc_dt::sc_concatref &
740 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
743 result_p = sc_dt::sc_concatref::m_pool.allocate();
748 inline const sc_dt::sc_concatref &
752 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
755 result_p = sc_dt::sc_concatref::m_pool.allocate();
760 inline sc_dt::sc_concatref &
763 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
765 result_p = sc_dt::sc_concatref::m_pool.allocate();
770 inline const sc_dt::sc_concatref &
773 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
775 result_p = sc_dt::sc_concatref::m_pool.allocate();
780 inline const sc_dt::sc_concatref &
784 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
787 result_p = sc_dt::sc_concatref::m_pool.allocate();
792 inline const sc_dt::sc_concatref &
796 sc_dt::sc_concatref *result_p; // Proxy for the concatenation.
799 result_p = sc_dt::sc_concatref::m_pool.allocate();