demangle gives the demangled type, sizeof its size (in bytes).

demangle(type = "int", ...)
    sizeof(type = "int", ...)

Arguments

type

The type we want to demangle

...

Further argument for cppFunction

Details

The following function is compiled and invoked:


        SEXP demangle_this_type(){
            typedef 
            return wrap( DEMANGLE(type) ) ;
        }

        SEXP sizeof_this_type(){
            typedef 
            return wrap( sizeof(type) ) ;
        }
    

DEMANGLE is a macro in Rcpp that does the work.

Value

The demangled type, as a string.

References

See this chapter from the GNU C++ library manual.

Author

Romain Francois <romain@r-enthusiasts.com>

Note

We only know how to demangle with gcc. If you know how to demangle types with your compiler, let us know.

See also

cppFunction is used to compile the function demangle creates.

Examples

if (FALSE) { # \dontrun{
    demangle( "int64_t" )
    demangle( "uint64_t" )

    demangle( "NumericVector" )
    demangle( "std::map<std::string,double>" )
    
    sizeof( "long" )
    sizeof( "long long" )
    
} # }