📄 tuple.h
字号:
T12& get( T12* ) { if( M_t12_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t12_holder; } T13& get( T13* ) { if( M_t13_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t13_holder; } T14& get( T14* ) { if( M_t14_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t14_holder; } T15& get( T15* ) { if( M_t15_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t15_holder; } T16& get( T16* ) { if( M_t16_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t16_holder; } T17& get( T17* ) { if( M_t17_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t17_holder; } T18& get( T18* ) { if( M_t18_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t18_holder; } T19& get( T19* ) { if( M_t19_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t19_holder; } T20& get( T20* ) { if( M_t20_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t20_holder; } const T1& get( T1* ) const { if( M_t1_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t1_holder; } const T2& get( T2* ) const { if( M_t2_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t2_holder; } const T3& get( T3* ) const { if( M_t3_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t3_holder; } const T4& get( T4* ) const { if( M_t4_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t4_holder; } const T5& get( T5* ) const { if( M_t5_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t5_holder; } const T6& get( T6* ) const { if( M_t6_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t6_holder; } const T7& get( T7* ) const { if( M_t7_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t7_holder; } const T8& get( T8* ) const { if( M_t8_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t8_holder; } const T9& get( T9* ) const { if( M_t9_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t9_holder; } const T10& get( T10* ) const { if( M_t10_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t10_holder; } const T11& get( T11* ) const { if( M_t11_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t11_holder; } const T12& get( T12* ) const { if( M_t12_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t12_holder; } const T13& get( T13* ) const { if( M_t13_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t13_holder; } const T14& get( T14* ) const { if( M_t14_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t14_holder; } const T15& get( T15* ) const { if( M_t15_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t15_holder; } const T16& get( T16* ) const { if( M_t16_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t16_holder; } const T17& get( T17* ) const { if( M_t17_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t17_holder; } const T18& get( T18* ) const { if( M_t18_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t18_holder; } const T19& get( T19* ) const { if( M_t19_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t19_holder; } const T20& get( T20* ) const { if( M_t20_holder == 0 ) throw NullErr( __FILE__, __LINE__, "Tried to access null element in Tuple" ); else return *M_t20_holder; } protected: void clear() { delete M_t1_holder; M_t1_holder = 0; delete M_t2_holder; M_t2_holder = 0; delete M_t3_holder; M_t3_holder = 0; delete M_t4_holder; M_t4_holder = 0; delete M_t5_holder; M_t5_holder = 0; delete M_t6_holder; M_t6_holder = 0; delete M_t7_holder; M_t7_holder = 0; delete M_t8_holder; M_t8_holder = 0; delete M_t9_holder; M_t9_holder = 0; delete M_t10_holder; M_t10_holder = 0; delete M_t11_holder; M_t11_holder = 0; delete M_t12_holder; M_t12_holder = 0; delete M_t13_holder; M_t13_holder = 0; delete M_t14_holder; M_t14_holder = 0; delete M_t15_holder; M_t15_holder = 0; delete M_t16_holder; M_t16_holder = 0; delete M_t17_holder; M_t17_holder = 0; delete M_t18_holder; M_t18_holder = 0; delete M_t19_holder; M_t19_holder = 0; delete M_t20_holder; M_t20_holder = 0; } public: Tuple20() : M_t1_holder( 0 ), M_t2_holder( 0 ), M_t3_holder( 0 ), M_t4_holder( 0 ), M_t5_holder( 0 ), M_t6_holder( 0 ), M_t7_holder( 0 ), M_t8_holder( 0 ), M_t9_holder( 0 ), M_t10_holder( 0 ), M_t11_holder( 0 ), M_t12_holder( 0 ), M_t13_holder( 0 ), M_t14_holder( 0 ), M_t15_holder( 0 ), M_t16_holder( 0 ), M_t17_holder( 0 ), M_t18_holder( 0 ), M_t19_holder( 0 ), M_t20_holder( 0 ) {} template< typename T > Tuple20( const T& t ) : M_t1_holder( 0 ), M_t2_holder( 0 ), M_t3_holder( 0 ), M_t4_holder( 0 ), M_t5_holder( 0 ), M_t6_holder( 0 ), M_t7_holder( 0 ), M_t8_holder( 0 ), M_t9_holder( 0 ), M_t10_holder( 0 ), M_t11_holder( 0 ), M_t12_holder( 0 ), M_t13_holder( 0 ), M_t14_holder( 0 ), M_t15_holder( 0 ), M_t16_holder( 0 ), M_t17_holder( 0 ), M_t18_holder( 0 ), M_t19_holder( 0 ), M_t20_holder( 0 ) { setValue( t ); } Tuple20( const ThisType& tuple ) : M_t1_holder( 0 ), M_t2_holder( 0 ), M_t3_holder( 0 ), M_t4_holder( 0 ), M_t5_holder( 0 ), M_t6_holder( 0 ), M_t7_holder( 0 ), M_t8_holder( 0 ), M_t9_holder( 0 ), M_t10_holder( 0 ), M_t11_holder( 0 ), M_t12_holder( 0 ), M_t13_holder( 0 ), M_t14_holder( 0 ), M_t15_holder( 0 ), M_t16_holder( 0 ), M_t17_holder( 0 ), M_t18_holder( 0 ), M_t19_holder( 0 ), M_t20_holder( 0 ) { setValue( tuple ); } ~Tuple20() {} ThisType& operator=( const ThisType& tuple ) { return setValue( tuple ); } template< class T > bool isTypeOf() const { T* t = NULL; return isTypeOf( t ); } template< class T > T& get() { T* t = NULL; return get( t ); } template< class T > const T& get() const { T* t = NULL; return get( t ); } T1& setValue( const T1& t ) { clear(); M_t1_holder = new T1( t ); return *M_t1_holder; } T2& setValue( const T2& t ) { clear(); M_t2_holder = new T2( t ); return *M_t2_holder; } T3& setValue( const T3& t ) { clear(); M_t3_holder = new T3( t ); return *M_t3_holder; } T4& setValue( const T4& t ) { clear(); M_t4_holder = new T4( t ); return *M_t4_holder; } T5& setValue( const T5& t ) { clear(); M_t5_holder = new T5( t ); return *M_t5_holder; } T6& setValue( const T6& t ) { clear(); M_t6_holder = new T6( t ); return *M_t6_holder; } T7& setValue( const T7& t ) { clear(); M_t7_holder = new T7( t ); return *M_t7_holder; } T8& setValue( const T8& t ) { clear(); M_t8_holder = new T8( t ); return *M_t8_holder; } T9& setValue( const T9& t ) { clear(); M_t9_holder = new T9( t ); return *M_t9_holder; } T10& setValue( const T10& t ) { clear(); M_t10_holder = new T10( t ); return *M_t10_holder; } T11& setValue( const T11& t ) { clear(); M_t11_holder = new T11( t ); return *M_t11_holder; } T12& setValue( const T12& t ) { clear(); M_t12_holder = new T12( t ); return *M_t12_holder; } T13& setValue( const T13& t ) { clear(); M_t13_holder = new T13( t ); return *M_t13_holder; } T14& setValue( const T14& t ) { clear(); M_t14_holder = new T14( t ); return *M_t14_holder; } T15& setValue( const T15& t ) { clear(); M_t15_holder = new T15( t ); return *M_t15_holder; } T16& setValue( const T16& t ) { clear(); M_t16_holder = new T16( t ); return *M_t16_holder; } T17& setValue( const T17& t ) { clear(); M_t17_holder = new T17( t ); return *M_t17_holder; } T18& setValue( const T18& t ) { clear(); M_t18_holder = new T18( t ); return *M_t18_holder; } T19& setValue( const T19& t ) { clear(); M_t19_holder = new T19( t ); return *M_t19_holder; } T20& setValue( const T20& t ) { clear(); M_t20_holder = new T20( t ); return *M_t20_holder; } ThisType& setValue( const ThisType& tuple ) { T1* t1 = 0; T2* t2 = 0; T3* t3 = 0; T4* t4 = 0; T5* t5 = 0; T6* t6 = 0; T7* t7 = 0; T8* t8 = 0; T9* t9 = 0; T10* t10 = 0; T11* t11 = 0; T12* t12 = 0; T13* t13 = 0; T14* t14 = 0; T15* t15 = 0; T16* t16 = 0; T17* t17 = 0; T18* t18 = 0; T19* t19 = 0; T20* t20 = 0; if( tuple.isTypeOf( t1 ) ) setValue( tuple.get( t1 ) ); else if( tuple.isTypeOf( t2 ) )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -