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
98 // CLASS TEMPLATE : sc_concatref
103 class sc_concatref : public sc_generic_base<sc_concatref>, public sc_value_base
106 friend class sc_core::sc_vpool<sc_concatref>;
137 virtual ~sc_concatref()
315 inline const sc_concatref& operator = ( int v )
322 inline const sc_concatref& operator = ( long v )
329 inline const sc_concatref& operator = ( int64 v )
336 inline const sc_concatref& operator = ( unsigned int v )
343 inline const sc_concatref& operator = ( unsigned long v )
350 inline const sc_concatref& operator = ( uint64 v )
357 const sc_concatref& operator = ( const sc_concatref& v )
366 const sc_concatref& operator = ( const sc_signed& v )
373 const sc_concatref& operator = ( const sc_unsigned& v )
380 const sc_concatref& operator = ( const char* v_p )
389 const sc_concatref& operator = ( const sc_bv_base& v )
398 const sc_concatref& operator = ( const sc_lv_base& v )
441 static sc_core::sc_vpool<sc_concatref> m_pool; // Pool of temporary objects.
457 sc_concatref(const sc_concatref&);
458 sc_concatref() : m_left_p(0), m_right_p(0), m_len(0), m_len_r(0), m_flags()
467 and_reduce( const sc_concatref& a )
474 nand_reduce( const sc_concatref& a )
481 or_reduce( const sc_concatref& a )
488 nor_reduce( const sc_concatref& a )
495 xor_reduce( const sc_concatref& a )
502 xnor_reduce( const sc_concatref& a )
508 // SHIFT OPERATORS FOR sc_concatref OBJECT INSTANCES:
510 // Because sc_concatref has implicit casts to both uint64 and sc_unsigned
515 inline const sc_unsigned operator << (const sc_concatref& target, uint64 shift)
520 inline const sc_unsigned operator << (const sc_concatref& target, int64 shift)
526 const sc_concatref& target, unsigned long shift )
532 const sc_concatref& target, int shift )
538 const sc_concatref& target, unsigned int shift )
543 inline const sc_unsigned operator << ( const sc_concatref& target, long shift )
548 inline const sc_unsigned operator >> (const sc_concatref& target, uint64 shift)
553 inline const sc_unsigned operator >> (const sc_concatref& target, int64 shift)
559 const sc_concatref& target, unsigned long shift )
565 const sc_concatref& target, int shift )
571 const sc_concatref& target, unsigned int shift )
576 inline const sc_unsigned operator >> ( const sc_concatref& target, long shift )
582 // STREAM OPERATORS FOR sc_concatref OBJECT INSTANCES:
586 operator << ( ::std::ostream& os, const sc_concatref& v )
593 operator >> ( ::std::istream& is, sc_concatref& a )
671 // ARITHMETIC AND LOGIC OPERATORS FOR sc_concatref
675 inline RESULT operator OP ( const sc_concatref& a, OTHER_TYPE b ) \
679 inline RESULT operator OP ( OTHER_TYPE a, const sc_concatref& b ) \
686 inline RESULT operator OP ( const sc_concatref& a, const sc_concatref& b ) \
700 inline RESULT operator OP ( const sc_concatref& a, bool b ) \
704 inline RESULT operator OP ( bool a, const sc_concatref& b ) \
710 inline bool operator OP ( const sc_concatref& a, const sc_concatref& b ) \
724 inline bool operator OP ( const sc_concatref& a, bool b ) \
728 inline bool operator OP ( bool a, const sc_concatref& b ) \
756 inline sc_dt::sc_concatref& concat(
759 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
761 result_p = sc_dt::sc_concatref::m_pool.allocate();
768 sc_dt::sc_concatref& concat(
771 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
773 result_p = sc_dt::sc_concatref::m_pool.allocate();
780 sc_dt::sc_concatref& concat(const sc_dt::sc_value_base& a, bool b)
783 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
786 result_p = sc_dt::sc_concatref::m_pool.allocate();
793 sc_dt::sc_concatref& concat(bool a, const sc_dt::sc_value_base& b)
796 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
799 result_p = sc_dt::sc_concatref::m_pool.allocate();
804 inline sc_dt::sc_concatref& operator , (
807 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
809 result_p = sc_dt::sc_concatref::m_pool.allocate();
816 sc_dt::sc_concatref& operator , (
819 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
821 result_p = sc_dt::sc_concatref::m_pool.allocate();
828 sc_dt::sc_concatref& operator , (const sc_dt::sc_value_base& a, bool b)
831 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
834 result_p = sc_dt::sc_concatref::m_pool.allocate();
841 sc_dt::sc_concatref& operator , (bool a, const sc_dt::sc_value_base& b)
844 sc_dt::sc_concatref* result_p; // Proxy for the concatenation.
847 result_p = sc_dt::sc_concatref::m_pool.allocate();