From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,703c4f68db81387d X-Google-Thread: 109fba,703c4f68db81387d X-Google-Thread: 115aec,703c4f68db81387d X-Google-Thread: f43e6,703c4f68db81387d X-Google-Attributes: gid103376,gid109fba,gid115aec,gidf43e6,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news3.google.com!news.glorb.com!newscon02.news.prodigy.com!newscon06.news.prodigy.com!prodigy.net!newsfeed-00.mathworks.com!nntp.TheWorld.com!not-for-mail From: Robert A Duff Newsgroups: comp.lang.ada,comp.lang.c++,comp.realtime,comp.software-eng Subject: Re: [OT] Re: Teaching new tricks to an old dog (C++ -->Ada) Date: 21 Mar 2005 16:07:26 -0500 Organization: The World Public Access UNIX, Brookline, MA Message-ID: References: <4229bad9$0$1019$afc38c87@news.optusnet.com.au> <1110032222.447846.167060@g14g2000cwa.googlegroups.com> <871xau9nlh.fsf@insalien.org> <3SjWd.103128$Vf.3969241@news000.worldonline.dk> <87r7iu85lf.fsf@insalien.org> <1110052142.832650@athnrd02> <42309456$1@news.broadpark.no> <1110569032.207770@athnrd02> <1110607809.837000@athnrd02> <1110608948.651588@athnrd02> <1110609321.686344@athnrd02> NNTP-Posting-Host: shell01.theworld.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: pcls4.std.com 1111439248 11356 192.74.137.71 (21 Mar 2005 21:07:28 GMT) X-Complaints-To: abuse@TheWorld.com NNTP-Posting-Date: Mon, 21 Mar 2005 21:07:28 +0000 (UTC) User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 Xref: g2news1.google.com comp.lang.ada:9693 comp.lang.c++:46605 comp.realtime:1573 comp.software-eng:5175 Date: 2005-03-21T16:07:26-05:00 List-Id: Ioannis Vranos writes: > Ioannis Vranos wrote: > > > Actually the Boost type that you are probably looking for is: > > "uint_value_t: The smallest built-in unsigned integral type that > > supports the given value as a maximum. The parameter should be a > > positive number." > > > > So the example becomes: > > #include > > > int main() > { > using namespace boost; > > // Value range 0..16 > uint_value_t<16>::least my_var; > > my_var= 9; > } > > > This is the equivalent of 0..whatever. > > Myself thinks though that this whole range specialisation thing is > > non-sense for regular application programming at least. > > Indeed. :-) Ah, so Ioannis Vranos agrees with Ioannis Vranos here, so it must be true? ;-) Actually, integer subranges are quite useful. For example, in some cases they allow the compiler to ensure (without any run time checking) that the integer index into an array matches the bounds of that array. Including in cases where the bounds are not known at compile time. - Bob