sc_signed.h
来自「基于4个mips核的noc设计」· C头文件 代码 · 共 1,885 行 · 第 1/5 页
H
1,885 行
inlinesc_signed_concref<sc_signed_subref,sc_signed>operator , ( sc_signed_subref, sc_signed& );template <class T1, class T2>inlinesc_signed_concref<sc_signed_subref,sc_signed_concref<T1,T2> >concat( sc_signed_subref, sc_signed_concref<T1,T2> );inlinesc_signed_concref<sc_signed_subref,sc_signed_bitref>concat( sc_signed_subref, sc_signed_bitref );inlinesc_signed_concref<sc_signed_subref,sc_signed_subref>concat( sc_signed_subref, sc_signed_subref );inlinesc_signed_concref<sc_signed_subref,sc_signed>concat( sc_signed_subref, sc_signed& );inlineistream&operator >> ( istream&, sc_signed_subref& );// ----------------------------------------------------------------------------// CLASS TEMPLATE : sc_signed_concref_r<T1,T2>//// Proxy class for sc_signed concatenation (r-value only).// NOT YET IMPLEMENTED// ----------------------------------------------------------------------------template <class T1, class T2>class sc_signed_concref_r{public: // constructor sc_signed_concref_r( const T1& left_, const T2& right_, int delete_ = 0 ) : m_left( CCAST<T1&>( left_ ) ), m_right( CCAST<T2&>( right_ ) ), m_delete( delete_ ), m_refs( *new int( 1 ) ) { m_len = m_left.length() + m_right.length(); NOT_YET_IMPLEMENTED; } // copy constructor sc_signed_concref_r( const sc_signed_concref_r<T1,T2>& a ) : m_left( a.m_left ), m_right( a.m_right ), m_len( a.m_len ), m_delete( a.m_delete ), m_refs( a.m_refs ) { ++ m_refs; NOT_YET_IMPLEMENTED; } // destructor ~sc_signed_concref_r(); // cloning sc_signed_concref_r<T1,T2>* clone() const { return new sc_signed_concref_r<T1,T2>( *this ); } // capacity int length() const { return m_len; } // implicit conversion to sc_signed // NOT YET IMPLEMENTED // explicit conversions // NOT YET IMPLEMENTED // explicit conversion to character string // NOT YET IMPLEMENTED // other methods void print( ostream& os = cout ) const { NOT_YET_IMPLEMENTED; }protected: T1& m_left; T2& m_right; int m_len; mutable int m_delete; mutable int& m_refs;private: // disabled sc_signed_concref_r(); sc_signed_concref_r<T1,T2>& operator = ( const sc_signed_concref_r<T1,T2>& );};// r-value concatenation operators and functionstemplate <class T1, class T2, class T3, class T4>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> >operator , ( sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_bitref_r>operator , ( sc_signed_concref_r<T1,T2>, sc_signed_bitref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_subref_r>operator , ( sc_signed_concref_r<T1,T2>, sc_signed_subref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>operator , ( sc_signed_concref_r<T1,T2>, const sc_signed& );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>operator , ( sc_signed_concref_r<T1,T2>, bool );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed,sc_signed_concref_r<T1,T2> >operator , ( bool, sc_signed_concref_r<T1,T2> );template <class T1, class T2, class T3, class T4>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> >concat( sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_bitref_r>concat( sc_signed_concref_r<T1,T2>, sc_signed_bitref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_subref_r>concat( sc_signed_concref_r<T1,T2>, sc_signed_subref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>concat( sc_signed_concref_r<T1,T2>, const sc_signed& );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>concat( sc_signed_concref_r<T1,T2>, bool );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed,sc_signed_concref_r<T1,T2> >concat( bool, sc_signed_concref_r<T1,T2> );#ifdef SC_DT_MIXED_COMMA_OPERATORStemplate <class T1, class T2, class T3, class T4>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> >operator , ( sc_signed_concref_r<T1,T2>, sc_signed_concref<T3,T4> );template <class T1, class T2, class T3, class T4>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> >operator , ( sc_signed_concref<T1,T2>, sc_signed_concref_r<T3,T4> );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_bitref_r>operator , ( sc_signed_concref_r<T1,T2>, sc_signed_bitref );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_bitref_r>operator , ( sc_signed_concref<T1,T2>, sc_signed_bitref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_subref_r>operator , ( sc_signed_concref_r<T1,T2>, sc_signed_subref );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_subref_r>operator , ( sc_signed_concref<T1,T2>, sc_signed_subref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>operator , ( sc_signed_concref_r<T1,T2>, sc_signed& );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>operator , ( sc_signed_concref<T1,T2>, const sc_signed& );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>operator , ( sc_signed_concref<T1,T2>, bool );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed,sc_signed_concref_r<T1,T2> >operator , ( bool, sc_signed_concref<T1,T2> );template <class T1, class T2, class T3, class T4>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> >concat( sc_signed_concref_r<T1,T2>, sc_signed_concref<T3,T4> );template <class T1, class T2, class T3, class T4>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>, sc_signed_concref_r<T3,T4> >concat( sc_signed_concref<T1,T2>, sc_signed_concref_r<T3,T4> );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_bitref_r>concat( sc_signed_concref_r<T1,T2>, sc_signed_bitref );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_bitref_r>concat( sc_signed_concref<T1,T2>, sc_signed_bitref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_subref_r>concat( sc_signed_concref_r<T1,T2>, sc_signed_subref );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed_subref_r>concat( sc_signed_concref<T1,T2>, sc_signed_subref_r );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>concat( sc_signed_concref_r<T1,T2>, sc_signed& );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>concat( sc_signed_concref<T1,T2>, const sc_signed& );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed_concref_r<T1,T2>,sc_signed>concat( sc_signed_concref<T1,T2>, bool );template <class T1, class T2>inlinesc_signed_concref_r<sc_signed,sc_signed_concref_r<T1,T2> >concat( bool, sc_signed_concref<T1,T2> );#endiftemplate <class T1, class T2>inlineostream&operator << ( ostream&, const sc_signed_concref_r<T1,T2>& );// ----------------------------------------------------------------------------// CLASS TEMPLATE : sc_signed_concref<T1,T2>//// Proxy class for sc_signed concatenation (r-value and l-value).// NOT YET IMPLEMENTED// ----------------------------------------------------------------------------template <class T1, class T2>class sc_signed_concref : public sc_signed_concref_r<T1,T2>{public: // constructor sc_signed_concref( T1& left_, T2& right_, int delete_ = 0 ) : sc_signed_concref_r<T1,T2>( left_, right_, delete_ ) {} // copy constructor sc_signed_concref( const sc_signed_concref<T1,T2>& a ) : sc_signed_concref_r<T1,T2>( a ) {} // cloning sc_signed_concref<T1,T2>* clone() const { return new sc_signed_concref<T1,T2>( *this ); } // assignment operators // NOT YET IMPLEMENTED // other methods void scan( istream& is = cin ) { NOT_YET_IMPLEMENTED; }private: // disabled sc_signed_concref();};// l-value concatenation operators and functionstemplate <class T1, class T2, class T3, class T4>inlinesc_signed_concref<sc_signed_concref<T1,T2>,sc_signed_concref<T3,T4> >operator , ( sc_signed_concref<T1,T2>, sc_signed_concref<T3,T4> );template <class T1, class T2>inlinesc_signed_concref<sc_signed_concref<T1,T2>,sc_signed_bitref>operator , ( sc_signed_concref<T1,T2>, sc_signed_bitref );template <class T1, class T2>inlinesc_signed_concref<sc_signed_concref<T1,T2>,sc_signed_subref>operator , ( sc_signed_concref<T1,T2>, sc_signed_subref );template <class T1, class T2>inlinesc_signed_concref<sc_signed_concref<T1,T2>,sc_signed>operator , ( sc_signed_concref<T1,T2>, sc_signed& );template <class T1, class T2, class T3, class T4>inlinesc_signed_concref<sc_signed_concref<T1,T2>,sc_signed_concref<T3,T4> >concat( sc_signed_concref<T1,T2>, sc_signed_concref<T3,T4> );template <class T1, class T2>inlinesc_signed_concref<sc_signed_concref<T1,T2>,sc_signed_bitref>concat( sc_signed_concref<T1,T2>, sc_signed_bitref );template <class T1, class T2>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?