Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > C++ > Re: compile tim...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 2 of 4 Topic 45824 of 47017
Post > Topic >>

Re: compile time value -> index calculation

by gnuyuva <gnuyuva@[EMAIL PROTECTED] > May 9, 2008 at 05:07 AM

On May 9, 4:29 pm, Christof Warlich <cwarl...@[EMAIL PROTECTED]
>
wrote:
> Hi all,
>
> As the definition of the index - value pairs are supposed to become part
of the API, does anyone
> have an idea how this could be beautified?
>
> Thanks,
>
> Christof
>
> #include <iostream>
> using namespace std;
>
> // definition of the index - value pairs
> template<unsigned int index> struct Value {};
> template<> struct Value<0> {static const unsigned int value = 1;};
> template<> struct Value<1> {static const unsigned int value = 10;};
> template<> struct Value<2> {static const unsigned int value = 100;};
> template<> struct Value<3> {static const unsigned int value = 1000;};
> template<> struct Value<4> {static const unsigned int value = 10000;};
>

use recursive templates.

enum { multiplier = 10 };

template <unsigned int index> struct value
{
   static const long long int this_value = value< index-1>::this_value
* multiplier;
}

template <> struct value<0> { enum { this_value = 1 }; } //
termination condition.

since the depth of template recursion is limited (say 17 is the upper
limit)
template <> struct value<17> {};    // let there be compilation error.
 




 4 Posts in Topic:
compile time value -> index calculation
Christof Warlich <cwar  2008-05-09 13:29:50 
Re: compile time value -> index calculation
gnuyuva <gnuyuva@[EMAI  2008-05-09 05:07:59 
Re: compile time value -> index calculation
Christof Warlich <cwar  2008-05-09 15:06:39 
Re: compile time value -> index calculation
gnuyuva <gnuyuva@[EMAI  2008-05-10 01:33:28 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Thu Jul 24 15:55:39 CDT 2008.