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 + -
显示快捷键?