www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Get unique id of a class type.

reply "Agustin" <agustin.l.alvarez hotmail.com> writes:
I'm looking a way to get the unique id of a class. I'm able to do
this in C++ using type_info::hash_code().

void function(T) {
     auto id = typeid(T).getHash(); // Something like this?

     // I know i could write this but seems ugly to me :/
     auto id = typeid(string).getHash(typeid(T).name);

     // Or maybe even better.
     auto id = typeid(T).id; // ID is not a number but a class for
storing
}
Oct 07 2013
parent reply "simendsjo" <simendsjo gmail.com> writes:
On Monday, 7 October 2013 at 18:55:58 UTC, Agustin wrote:
 I'm looking a way to get the unique id of a class. I'm able to 
 do
 this in C++ using type_info::hash_code().

 void function(T) {
     auto id = typeid(T).getHash(); // Something like this?

     // I know i could write this but seems ugly to me :/
     auto id = typeid(string).getHash(typeid(T).name);

     // Or maybe even better.
     auto id = typeid(T).id; // ID is not a number but a class 
 for
 storing
 }
Have you tried toHash()? https://github.com/D-Programming-Language/druntime/blob/master/src/object_.d#L211
Oct 07 2013
parent reply "Agustin" <agustin.l.alvarez hotmail.com> writes:
On Monday, 7 October 2013 at 19:07:19 UTC, simendsjo wrote:
 On Monday, 7 October 2013 at 18:55:58 UTC, Agustin wrote:
 I'm looking a way to get the unique id of a class. I'm able to 
 do
 this in C++ using type_info::hash_code().

 void function(T) {
    auto id = typeid(T).getHash(); // Something like this?

    // I know i could write this but seems ugly to me :/
    auto id = typeid(string).getHash(typeid(T).name);

    // Or maybe even better.
    auto id = typeid(T).id; // ID is not a number but a class 
 for
 storing
 }
Have you tried toHash()? https://github.com/D-Programming-Language/druntime/blob/master/src/object_.d#L211
I Think that would return the hash of every member of a class, rather than just the hash of the class name
Oct 07 2013
parent "Agustin" <agustin.l.alvarez hotmail.com> writes:
On Monday, 7 October 2013 at 19:24:32 UTC, Agustin wrote:
 On Monday, 7 October 2013 at 19:07:19 UTC, simendsjo wrote:
 On Monday, 7 October 2013 at 18:55:58 UTC, Agustin wrote:
 I'm looking a way to get the unique id of a class. I'm able 
 to do
 this in C++ using type_info::hash_code().

 void function(T) {
   auto id = typeid(T).getHash(); // Something like this?

   // I know i could write this but seems ugly to me :/
   auto id = typeid(string).getHash(typeid(T).name);

   // Or maybe even better.
   auto id = typeid(T).id; // ID is not a number but a class 
 for
 storing
 }
Have you tried toHash()? https://github.com/D-Programming-Language/druntime/blob/master/src/object_.d#L211
I Think that would return the hash of every member of a class, rather than just the hash of the class name
Nevermind, i just saw the link you gave me, thanks a lot!.
Oct 07 2013