Todavía estoy trabajando en una buena solución para mi One-Of-A-Type Container Problem - y después de reflexionar creo que sería bueno poder usar algo como un std::map<std::type_info, boost::any>
. Desafortunadamente, std::type_info
no define un operator<
, y creo que no sería razonable que definiera uno.¿C++ 11 proporciona funciones de hash para std :: type_info?
Sin embargo, parece razonable definir una función hash para ello, porque simplemente podría usar la dirección singleton del objeto std::type_info
como un "hash" razonable. Por lo tanto, podría poner un std::type_info
en un std::unordered_map
como la clave.
¿C++ 11 proporciona una función hash? ¿Sería una mala estrategia hash usar la dirección de memoria del singleton std::type_info
?
No es un singleton, por cierto, sino un objeto estáticamente asignado. – GManNickG
@GMan: ¿Cuál es la diferencia? –
Si fuera un singleton, habría exactamente un objeto 'type_info'. Como hay varios tipos en un programa, debe haber más de un objeto 'type_info' en el programa. –