The C bindings can not substitute fully for C++ bindings for the
simple reason that ANSI C++ has native data types that are not part of
C, namely long long, long double, Complex<float>, Complex<double>, and
Complex<long double>.
Cheers,
Andrew Lumsdaine (from the ancient Celtic meaning one who thinks
slowly on his feet)