Thread overview
Best way to Identify Endianness?
Oct 05, 2012
Jesse Phillips
Oct 05, 2012
bearophile
October 05, 2012
Just thought I would check if there was a Phobos method available or if others had pointers. I'm currently just using a function:

bool bigEndian() {
  int i = 1;
  return *cast(ubyte*)&i == 0;
}

Any other options?

I'm using this for UUID <-> GUID conversion. GUID uses Native ordering for 3 groupings.
October 05, 2012
On 05-10-2012 07:49, Jesse Phillips wrote:
> Just thought I would check if there was a Phobos method available or if
> others had pointers. I'm currently just using a function:
>
> bool bigEndian() {
>    int i = 1;
>    return *cast(ubyte*)&i == 0;
> }
>
> Any other options?
>
> I'm using this for UUID <-> GUID conversion. GUID uses Native ordering
> for 3 groupings.

version (LittleEndian) { ... }
else version (BigEndian) { ... }

http://dlang.org/version.html

-- 
Alex Rønne Petersen
alex@lycus.org
http://lycus.org
October 05, 2012
Jesse Phillips:

> Any other options?

Take a look here:
http://dlang.org/phobos/std_system.html

Similar handy things are meant to be in Phobos.

Bye,
bearophile