C++ typedef convention

(no name) (squyres@cse.nd.edu)
Wed, 21 May 1997 17:46:58 -0500 (EST)

Throughout the MPI-2 document, we used a particular notation for C++
function pointer typedefs. Here's an example (Section 7.2, page 129):

---
typedef int MPI::Grequest::Query_function(void* extra_state,
	MPI::Status& status)
---

This is technically not correct, as this is not a valid C++ statement. The correct statement would be:

---
namespace MPI {
  class Request {
    // ...
  };

class Grequest : public Request { // ... typedef Query_function(void* extra_state, MPI::Status& status); }; };

---

which is too bulky to put for all the C++ function pointer typedefs in MPI-2. I would like to propose that we put a statement in the terms chapter (I'll write it) that explains our current use of the typdef for C++ function pointers, and how it is shorthand for what the declarations really should be.

Any objections?

{+} Jeff Squyres {+} squyres@cse.nd.edu {+} Perpetual Obsessive Notre Dame Student Craving Utter Madness {+} "I came to ND for 4 years and ended up staying for a decade"