[Rd] How to store void* on 64 bit machines

From: Vadim Ogranovich <vograno_at_evafunds.com>
Date: Tue 15 Mar 2005 - 23:30:11 GMT


I have an R class which represents a file stream (this is my custom implementation of R I/O and has nothing to do with the standard R connections). The class has a slot, called id, which is essentially a void* pointer to a C++ stream object.  

Up until now I worked on 32-bit machines and the id slot was an integer, so one could cast back and forth between int and void*. However, on 64-bits void* is castable to 'long int', but not int, which poses a couple of problems:
a) since there is no R arrays of 'long int' type what other built-in type can I use to store void*. For example double is big enough to accommodate void*, but I am not sure whether casting will work both ways.
b) assuming that a) is solvable, is there a solution which is portable between 64 and 32 bit machines?  


        [[alternative HTML version deleted]]

R-devel@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel Received on Wed Mar 16 11:23:01 2005

This archive was generated by hypermail 2.1.8 : Mon 20 Feb 2006 - 03:21:02 GMT