A struct is meant to take only integers as parameters:
struct SomeStruct(intergers...) {
int opIndex(size_t idx) /* ... */ {
return integers[idx]; // Error ...
}
}
alias SomeStruct!(1, 2, 3) ss;
But it results in:
Error: undefined identifier integers, did you mean tuple
On 8/10/12 9:55 AM, Henning Pohl wrote:
A struct is meant to take only integers as parameters:
struct SomeStruct(intergers...) {
int opIndex(size_t idx) /* ... */ {
return integers[idx]; // Error ...
}
}
alias SomeStruct!(1, 2, 3) ss;
But it results in:
Error: undefined identifier integers,
On Friday, 10 August 2012 at 14:02:08 UTC, Andrei Alexandrescu
wrote:
On 8/10/12 9:55 AM, Henning Pohl wrote:
A struct is meant to take only integers as parameters:
struct SomeStruct(intergers...) {
int opIndex(size_t idx) /* ... */ {
return integers[idx]; // Error ...
}
}
alias
On Friday, 10 August 2012 at 14:05:16 UTC, Henning Pohl wrote:
Oups, sorry, imagine there isn't one.
So the error is: variable idx cannot be read at compile time.
You can't index a tuple during compilation. You need to use an
array:
struct SomeStruct(alias integers) {
int
On Friday, 10 August 2012 at 14:10:02 UTC, Vladimir Panteleev
wrote:
On Friday, 10 August 2012 at 14:05:16 UTC, Henning Pohl wrote:
Oups, sorry, imagine there isn't one.
So the error is: variable idx cannot be read at compile time.
You can't index a tuple during compilation.
Sorry, meant
On Friday, 10 August 2012 at 14:10:38 UTC, Vladimir Panteleev
wrote:
On Friday, 10 August 2012 at 14:10:02 UTC, Vladimir Panteleev
wrote:
On Friday, 10 August 2012 at 14:05:16 UTC, Henning Pohl wrote:
Oups, sorry, imagine there isn't one.
So the error is: variable idx cannot be read at
Henning Pohl , dans le message (digitalmars.D:174569), a écrit :
On Friday, 10 August 2012 at 14:10:38 UTC, Vladimir Panteleev
wrote:
On Friday, 10 August 2012 at 14:10:02 UTC, Vladimir Panteleev
wrote:
On Friday, 10 August 2012 at 14:05:16 UTC, Henning Pohl wrote:
Oups, sorry, imagine
On Friday, 10 August 2012 at 14:35:29 UTC,
trav...@phare.normalesup.org (Christophe Travert) wrote:
Henning Pohl , dans le message (digitalmars.D:174569), a
écrit :
On Friday, 10 August 2012 at 14:10:38 UTC, Vladimir Panteleev
wrote:
On Friday, 10 August 2012 at 14:10:02 UTC, Vladimir
On Friday, 10 August 2012 at 14:42:24 UTC, Henning Pohl wrote:
That is what I was trying first, but I could not make it work.
Maybe you can show me how it's done?
Just use the compiler tuple inside an array literal, like this:
[integers]. It will auto-expand, just when passing it to a method.
Note that if your design makes that you must have a tuple, you
may build
the array at compile time, so that you can index it at run
time.
That is what I was trying first, but I could not make it work.
Maybe you can show me how it's done?
This would be one way to do it:
auto
Henning Pohl , dans le message (digitalmars.D:174572), a écrit :
That is what I was trying first, but I could not make it work.
Maybe you can show me how it's done?
For example:
import std.stdio;
template TupleToArray(T...)
{
static if (T.length == 1)
{
enum TupleToArray = [T[0]];
On Friday, 10 August 2012 at 15:26:51 UTC, David Nadlinger wrote:
It will auto-expand, just when passing it to a method.
Darn, that should have been: »just like when …«
David
Great, thank you :]
The solution provided by David seems to be shortest. You can even
pass the ints directly.
10.08.2012 19:26, David Nadlinger пишет:
Just use the compiler tuple inside an array literal, like this:
[integers]. It will auto-expand, just when passing it to a method.
And if it's impossible/undesirable to create an array, you can do this:
---
foreach(i, t; your_tuple)
if(i == idx)
On 8/10/12, jerro a...@a.com wrote:
This would be one way to do it:
On 8/10/12, Christophe Travert trav...@phare.normalesup.org wrote:
For example:
Guys I think you're overcomplecating it, you can just do:
struct SomeStruct(integers...)
{
enum ints = [integers];
int opIndex(size_t
On 11-Aug-12 00:58, Andrej Mitrovic wrote:
On 8/10/12, jerro a...@a.com wrote:
This would be one way to do it:
On 8/10/12, Christophe Travert trav...@phare.normalesup.org wrote:
For example:
Guys I think you're overcomplecating it, you can just do:
struct SomeStruct(integers...)
{
On 8/10/12, Dmitry Olshansky dmitry.o...@gmail.com wrote:
Internally identical to:
int opIndex(size_t idx)
{
return [integers][idx];
}
Allocates on every call or not? I've no idea maybe Kenji fixed this
already.
t's easy to check, add writeln(ints[idx]); in opIndex and index [0]
On 08/10/2012 11:09 PM, Dmitry Olshansky wrote:
On 11-Aug-12 00:58, Andrej Mitrovic wrote:
On 8/10/12, jerro a...@a.com wrote:
This would be one way to do it:
On 8/10/12, Christophe Travert trav...@phare.normalesup.org wrote:
For example:
Guys I think you're overcomplecating it, you can
18 matches
Mail list logo