/usr/lib/gcc/x86_64-linux-gnu/5/include/d/rt/typeinfo/ti_long.d is in libphobos-5-dev 5.5.0-12ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | /**
* TypeInfo support code.
*
* Copyright: Copyright Digital Mars 2004 - 2009.
* License: $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0).
* Authors: Walter Bright
*/
/* Copyright Digital Mars 2004 - 2009.
* Distributed under the Boost Software License, Version 1.0.
* (See accompanying file LICENSE or copy at
* http://www.boost.org/LICENSE_1_0.txt)
*/
module rt.typeinfo.ti_long;
private import rt.util.hash;
// long
class TypeInfo_l : TypeInfo
{
@trusted:
const:
pure:
nothrow:
override string toString() const pure nothrow @safe { return "long"; }
override size_t getHash(in void* p)
{
return rt.util.hash.hashOf(p, long.sizeof);
}
override bool equals(in void* p1, in void* p2)
{
return *cast(long *)p1 == *cast(long *)p2;
}
override int compare(in void* p1, in void* p2)
{
if (*cast(long *)p1 < *cast(long *)p2)
return -1;
else if (*cast(long *)p1 > *cast(long *)p2)
return 1;
return 0;
}
override @property size_t tsize() nothrow pure
{
return long.sizeof;
}
override void swap(void *p1, void *p2)
{
long t;
t = *cast(long *)p1;
*cast(long *)p1 = *cast(long *)p2;
*cast(long *)p2 = t;
}
override @property size_t talign() nothrow pure
{
return long.alignof;
}
}
|