$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Beman Dawes (beman_at_[hidden])
Date: 1999-08-03 07:09:46
At 09:06 PM 7/28/99 +0100, Kevlin Henney wrote:
>The alternative is to provide a template based solution, rather than
death
>by a thousand typedefs/#defines. I did something like this, and
outlined
>the details in a couple of articles for Overload when Sean was
editing it a
>few years ago. I'd be happy to dig it up and submit the code as a
library.
>
>Thoughts?
My first response to Kevlin was perhaps unfairly negative.  Maybe we
ought to explore the alternatives to the C stdint.h header a bit.  If
there is a better way, we should at least consider it.
The possible approaches I can see are:
*  A template approach where the user would write code like:
     int_t<32>::exact   // to obtain the 32-bit integer type
     int_t<32>::max()   // to obtain the maximum value
*  A typedef and constant approach where the user would write:
     int32              // to obtain the 32-bit integer type
     INT32_MAX          // to obtain the maximum value
While the template approach seems conceptually more elegant, I find
the resulting user code unbearably ugly.  The typedef and constant
approach is basically stdint.h without the macros, a nice advantange.
Kevlin, what did your template approach look like?
Are there other possiblities?
--Beman