demangle: c++ type information

demangleR Documentation

c++ type information

Description

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

Usage

    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.

Note

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

Author(s)

Romain Francois <romain@r-enthusiasts.com>

References

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

See Also

cppFunction is used to compile the function demangle creates.

Examples

## Not run: 
    demangle( "int64_t" )
    demangle( "uint64_t" )

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

## End(Not run)

Rcpp documentation built on July 9, 2023, 7:26 p.m.