41 if( ! ::Rf_isS4(x) )
throw not_s4() ;
45 S4_Impl& operator=( SEXP other ){
46 Storage::set__( other ) ;
56 S4_Impl(
const std::string& klass ){
57 Shield<SEXP> x( R_do_new_object(R_do_MAKE_CLASS(klass.c_str())) );
58 if (!Rf_inherits(x, klass.c_str()))
59 throw S4_creation_error( klass ) ;
66 bool is(
const std::string& clazz)
const ;
72 if( ! ::Rf_isS4(x) )
throw not_s4() ;