@ -22,10 +22,11 @@ class Base2Something: public OBTypeM<Func,O...>
Base2Something ( const ObjectBase * arg ) : OBTypeM < Func , O . . . > ( arg ) { } ;
Base2Something ( const ObjectList * input , const std : : string & name ) : OBTypeM < Func , O . . . > ( input - > Get ( name ) ) { } ;
Base2Something ( const ObjectList * input , const ObjectList : : ListValues : : size_type i ) : OBTypeM < Func , O . . . > ( ( i < input - > Size ( ) ) ? input - > At ( i ) : 0 ) { } ; // Check index, because At is not safe
auto operator ( ) ( bool * b ) const - > decltype ( this - > OBTypeM < Func , O . . . > : : template operator ( ) < bool * > ( b ) )
template < class . . . Args >
auto operator ( ) ( bool * b , Args . . . args ) const - > decltype ( this - > OBTypeM < Func , O . . . > : : template operator ( ) < bool * , Args . . . > ( b , args . . . ) )
{
if ( ! OBTypeM < Func , O . . . > : : operator bool ( ) ) * b = false ;
return OBTypeM < Func , O . . . > : : operator ( ) ( b ) ;
return OBTypeM < Func , O . . . > : : operator ( ) ( b , args . . . ) ;
}
} ;