1268899Sbapt/** 2234949Sbapt * TypeInfo support code. 3234949Sbapt * 4234949Sbapt * Copyright: Copyright Digital Mars 2004 - 2009. 5234949Sbapt * License: $(WEB www.boost.org/LICENSE_1_0.txt, Boost License 1.0). 6234949Sbapt * Authors: Walter Bright 7234949Sbapt */ 8234949Sbapt 9234949Sbapt/* Copyright Digital Mars 2004 - 2009. 10234949Sbapt * Distributed under the Boost Software License, Version 1.0. 11234949Sbapt * (See accompanying file LICENSE or copy at 12234949Sbapt * http://www.boost.org/LICENSE_1_0.txt) 13234949Sbapt */ 14234949Sbaptmodule rt.typeinfo.ti_Areal; 15234949Sbapt 16234949Sbaptprivate import rt.util.typeinfo; 17234949Sbapt 18234949Sbapt// real[] 19234949Sbapt 20234949Sbaptclass TypeInfo_Ae : TypeInfo_Array 21234949Sbapt{ 22234949Sbapt alias F = real; 23234949Sbapt 24234949Sbapt override bool opEquals(Object o) { return TypeInfo.opEquals(o); } 25234949Sbapt 26234949Sbapt override string toString() const { return (F[]).stringof; } 27234949Sbapt 28234949Sbapt override size_t getHash(scope const void* p) @trusted const 29234949Sbapt { 30234949Sbapt return Array!F.hashOf(*cast(F[]*)p); 31234949Sbapt } 32234949Sbapt 33234949Sbapt override bool equals(in void* p1, in void* p2) const 34234949Sbapt { 35234949Sbapt return Array!F.equals(*cast(F[]*)p1, *cast(F[]*)p2); 36240517Sbapt } 37234949Sbapt 38234949Sbapt override int compare(in void* p1, in void* p2) const 39234949Sbapt { 40234949Sbapt return Array!F.compare(*cast(F[]*)p1, *cast(F[]*)p2); 41234949Sbapt } 42240517Sbapt 43234949Sbapt override @property inout(TypeInfo) next() inout 44234949Sbapt { 45234949Sbapt return cast(inout)typeid(F); 46234949Sbapt } 47234949Sbapt} 48234949Sbapt 49234949Sbapt// ireal[] 50234949Sbapt 51268899Sbaptclass TypeInfo_Aj : TypeInfo_Ae 52268899Sbapt{ 53268899Sbapt alias F = ireal; 54268899Sbapt 55268899Sbapt override string toString() const { return (F[]).stringof; } 56268899Sbapt 57234949Sbapt override @property inout(TypeInfo) next() inout 58234949Sbapt { 59234949Sbapt return cast(inout)typeid(F); 60234949Sbapt } 61234949Sbapt} 62234949Sbapt