| |
 | Posted by user1234 in reply to Alexander Zhirov | Permalink Reply |
|
user1234 
Posted in reply to Alexander Zhirov
| On Thursday, 23 March 2023 at 14:05:07 UTC, Alexander Zhirov wrote:
> On Thursday, 23 March 2023 at 13:38:51 UTC, Alexander Zhirov wrote:
> Is it possible to convert such records inside the structure to the assigned type?
struct MyVal
{
string value;
// Here it would be possible to use an alias to this, but it can only be used 1 time
}
auto a = MyVal("100");
auto b = MyVal("11.2");
int MyInt = a; // Implicitly convert to target type
float myFloat = b; // Implicitly convert to target type
Here is an example from the documentation, but for "several" types, for example, with a cast check and a return of the default value.
The best I can think of ATM
struct MyVal
{
string value;
auto opCast(T)()
{
import std.conv : to;
return to!T(value);
}
}
void main()
{
auto a = MyVal("100");
auto b = MyVal("11.2");
int MyInt = cast(int)a;
float myFloat = cast(float)b;
}
not exactly thing goal yet. The doc example you have put a link for is different, the struct with alias this a redefinition of the "alias this"'ed thing, that just cant work in what you ask in the first post.
|