Thread overview | ||||||||
---|---|---|---|---|---|---|---|---|
|
March 24, 2012 When do you use templates instead of CTFE? | ||||
---|---|---|---|---|
| ||||
Since there is CTFE, I keep running into, do I really need this as a template parameter? Why not put this in a constructor. And so on... |
March 24, 2012 Re: When do you use templates instead of CTFE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Dan | On 03/24/2012 07:42 AM, Dan wrote:
> Since there is CTFE, I keep running into, do I really need this as a
> template parameter? Why not put this in a constructor. And so on...
>
>
You use templates in combination with CTFE if
- You have to perform computations on types.
- You want template instantiation syntax.
(If this is the only reason, the template will just wrap a CTFE computation)
|
March 25, 2012 Re: When do you use templates instead of CTFE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Timon Gehr | "Timon Gehr" <timon.gehr@gmx.ch> wrote in message news:jkkbqv$2pvu$3@digitalmars.com... > On 03/24/2012 07:42 AM, Dan wrote: >> Since there is CTFE, I keep running into, do I really need this as a template parameter? Why not put this in a constructor. And so on... >> >> > > You use templates in combination with CTFE if > > - You have to perform computations on types. > - You want template instantiation syntax. > (If this is the only reason, the template will just wrap a CTFE > computation) Yea, the general rule of thumb is "If you can do it with CTFE, then do so, otherwise use templates." |
March 25, 2012 Re: When do you use templates instead of CTFE? | ||||
---|---|---|---|---|
| ||||
Posted in reply to Nick Sabalausky | On Sunday, March 25, 2012 17:55:56 Nick Sabalausky wrote:
> "Timon Gehr" <timon.gehr@gmx.ch> wrote in message news:jkkbqv$2pvu$3@digitalmars.com...
>
> > On 03/24/2012 07:42 AM, Dan wrote:
> >> Since there is CTFE, I keep running into, do I really need this as a template parameter? Why not put this in a constructor. And so on...
> >
> > You use templates in combination with CTFE if
> >
> > - You have to perform computations on types.
> > - You want template instantiation syntax.
> >
> > (If this is the only reason, the template will just wrap a CTFE
> >
> > computation)
>
> Yea, the general rule of thumb is "If you can do it with CTFE, then do so, otherwise use templates."
Generally, you end up having to use templates for stuff that operates on types, whereas CTFE works for stuff that can be normal functions.
- Jonathan M Davis
|
March 25, 2012 Re: When do you use templates instead of CTFE? | ||||
---|---|---|---|---|
| ||||
On 26 March 2012 12:35, Jonathan M Davis <jmdavisProg@gmx.com> wrote:
> On Sunday, March 25, 2012 17:55:56 Nick Sabalausky wrote:
>> Yea, the general rule of thumb is "If you can do it with CTFE, then do so, otherwise use templates."
>
> Generally, you end up having to use templates for stuff that operates on types, whereas CTFE works for stuff that can be normal functions.
>
> - Jonathan M Davis
Often I end up using the same function in CTFE and runtime.
--
James Miller
|
March 25, 2012 Re: When do you use templates instead of CTFE? | ||||
---|---|---|---|---|
| ||||
On Monday, March 26, 2012 12:39:36 James Miller wrote:
> Often I end up using the same function in CTFE and runtime.
That's pretty much the idea behind CTFE in the first place.
- Jonathan M Davis
|
Copyright © 1999-2021 by the D Language Foundation