[MOAB-dev] Using void** in iMesh interface

Jed Brown jed at 59A2.org
Wed Mar 16 17:43:16 CDT 2011


I see that char** for opaque data has changed to void**. This choice
essentially always requires an explicit cast in user code (because they have
something real behind the pointer).

There is a precedent for using plain void* in cases like this. For example,
see the MPI Forum's change of

int MPI_Attr_get(MPI_Comm comm, int keyval,void **attribute_val, int *flag )
          /* MPI-1.0 */

to

int MPI_Attr_get(MPI_Comm comm, int keyval,void *attribute_val, int *flag )
           /* MPI-1.1 and later */

Note that this change is backward-compatible. I would encourage the ITAPS
community to make the same choice.


I don't know where these discussions take place. In principle I'm subscribed
to the itaps-users list, but I have never seen anything posted there. It
would be nice if there was at least a notification mechanism for API
changes, preferably with an open discussion period. A much-simplified
version of the MPI Forum's process would be great.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20110316/205d2852/attachment.htm>


More information about the moab-dev mailing list