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...
Re: When do you use templates instead of CTFE?
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)
Re: When do you use templates instead of CTFE?
"Timon Gehr" 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."
Re: When do you use templates instead of CTFE?
On Sunday, March 25, 2012 17:55:56 Nick Sabalausky wrote: > "Timon Gehr" 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
Re: When do you use templates instead of CTFE?
On 26 March 2012 12:35, Jonathan M Davis 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
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