sc_lv_base.h

来自「基于4个mips核的noc设计」· C头文件 代码 · 共 1,791 行 · 第 1/4 页

H
1,791
字号
    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>operator , ( sc_concref_r<T1,T2> a, const sc_logic& b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( b, 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >operator , ( const sc_logic& a, sc_concref_r<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a, 1 ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>operator , ( sc_concref_r<T1,T2> a, bool b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( sc_logic( b ), 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >operator , ( bool a, sc_concref_r<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( sc_logic( a ), 1 ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>concat( sc_concref_r<T1,T2> a, const char* b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( b ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >concat( const char* a, sc_concref_r<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>concat( sc_concref_r<T1,T2> a, const sc_logic& b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( b, 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >concat( const sc_logic& a, sc_concref_r<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a, 1 ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>concat( sc_concref_r<T1,T2> a, bool b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( sc_logic( b ), 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >concat( bool a, sc_concref_r<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( sc_logic( a ), 1 ), *b.clone(), 3 );}#ifdef SC_DT_MIXED_COMMA_OPERATORStemplate <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>operator , ( sc_concref<T1,T2> a, const char* b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( b ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >operator , ( const char* a, sc_concref<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>operator , ( sc_concref<T1,T2> a, const sc_logic& b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( b, 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >operator , ( const sc_logic& a, sc_concref<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a, 1 ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>operator , ( sc_concref<T1,T2> a, bool b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( sc_logic( b ), 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >operator , ( bool a, sc_concref<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( sc_logic( a ), 1 ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>concat( sc_concref<T1,T2> a, const char* b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( b ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >concat( const char* a, sc_concref<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>concat( sc_concref<T1,T2> a, const sc_logic& b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( b, 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >concat( const sc_logic& a, sc_concref<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( a, 1 ), *b.clone(), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>concat( sc_concref<T1,T2> a, bool b ){    return sc_concref_r<sc_concref_r<T1,T2>,sc_lv_base>(	*a.clone(), *new sc_lv_base( sc_logic( b ), 1 ), 3 );}template <class T1, class T2>inlinesc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >concat( bool a, sc_concref<T1,T2> b ){    return sc_concref_r<sc_lv_base,sc_concref_r<T1,T2> >(	*new sc_lv_base( sc_logic( a ), 1 ), *b.clone(), 3 );}#endif// ----------------------------------------------------------------------------//  CLASS TEMPLATE : sc_proxy<T>////  Base class template for bit/logic vector classes.//  (Barton/Nackmann implementation)// ----------------------------------------------------------------------------// r-value concatenation operators and functionstemplate <class T>inlinesc_concref_r<T,sc_lv_base>operator , ( const sc_proxy<T>& a, const char* b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>operator , ( const char* a, const sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>operator , ( const sc_proxy<T>& a, const sc_logic& b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b, 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>operator , ( const sc_logic& a, const sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a, 1 ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>operator , ( const sc_proxy<T>& a, bool b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( sc_logic( b ), 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>operator , ( bool a, const sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( sc_logic( a ), 1 ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>concat( const sc_proxy<T>& a, const char* b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>concat( const char* a, const sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>concat( const sc_proxy<T>& a, const sc_logic& b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b, 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>concat( const sc_logic& a, const sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a, 1 ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>concat( const sc_proxy<T>& a, bool b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( sc_logic( b ), 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>concat( bool a, const sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( sc_logic( a ), 1 ), b.back_cast(), 1 );}#ifdef SC_DT_MIXED_COMMA_OPERATORStemplate <class T>inlinesc_concref_r<T,sc_lv_base>operator , ( sc_proxy<T>& a, const char* b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>operator , ( const char* a, sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>operator , ( sc_proxy<T>& a, const sc_logic& b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b, 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>operator , ( const sc_logic& a, sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a, 1 ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>operator , ( sc_proxy<T>& a, bool b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( sc_logic( b ), 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>operator , ( bool a, sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( sc_logic( a ), 1 ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>concat( sc_proxy<T>& a, const char* b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>concat( const char* a, sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>concat( sc_proxy<T>& a, const sc_logic& b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( b, 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>concat( const sc_logic& a, sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( a, 1 ), b.back_cast(), 1 );}template <class T>inlinesc_concref_r<T,sc_lv_base>concat( sc_proxy<T>& a, bool b ){    return sc_concref_r<T,sc_lv_base>(	a.back_cast(), *new sc_lv_base( sc_logic( b ), 1 ), 2 );}template <class T>inlinesc_concref_r<sc_lv_base,T>concat( bool a, sc_proxy<T>& b ){    return sc_concref_r<sc_lv_base,T>(	*new sc_lv_base( sc_logic( a ), 1 ), b.back_cast(), 1 );}#endif} // namespace sc_dt#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?