half datatype?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sun Nov 18 08:31:09 PST 2012


On 11/18/12 7:30 AM, Manu wrote:
> On 18 November 2012 14:01, David Nadlinger <see at klickverbot.at
> <mailto:see at klickverbot.at>> wrote:
>
>     On Sunday, 18 November 2012 at 11:21:37 UTC, Manu wrote:
>
>         someFloat = someHalf <- doesn't work, because a cast operator
>         expects an
>         explicit cast, even though this is a lossless conversion and
>         should be
>         exactly the same as someDouble = someFloat.
>
>         Thoughts?
>
>
>     ---
>     struct Half {
>          float toFloat() { return 3.14f; }
>          alias toFloat this;
>     }
>
>     void test() {
>          Half h;
>          float f = h;
>          double d = h;
>     }
>     ---
>
>     Works for you?
>
>
> Interesting approach to the implicit cast problem. Very handy trick.

Well that was quite explicitly part of the purpose of alias this.

Andrei


More information about the Digitalmars-d mailing list