Skip to content
Snippets Groups Projects
  • Nat Goodspeed's avatar
    709c1eea
    MAINT-1175: Properly pass LLRegistry's COMPARATOR to underlying map. · 709c1eea
    Nat Goodspeed authored
    Although LLRegistry and LLRegistrySingleton have always defined a COMPARATOR
    template parameter, it wasn't used for the underlying map. Therefore every
    type, including any pointer type, was being compared using std::less. This
    happens to work most of the time -- but is tripping us up now.
    Pass COMPARATOR to underlying std::map. Fix a couple minor bugs in
    LLRegistryDefaultComparator (never before used!). Specialize for const char*.
    Remove CompareTypeID and LLCompareTypeID because we now actively forbid using
    LLRegistry<std::type_info*, ...>; remove only known reference
    (LLWidgetNameRegistry definition).
    709c1eea
    History
    MAINT-1175: Properly pass LLRegistry's COMPARATOR to underlying map.
    Nat Goodspeed authored
    Although LLRegistry and LLRegistrySingleton have always defined a COMPARATOR
    template parameter, it wasn't used for the underlying map. Therefore every
    type, including any pointer type, was being compared using std::less. This
    happens to work most of the time -- but is tripping us up now.
    Pass COMPARATOR to underlying std::map. Fix a couple minor bugs in
    LLRegistryDefaultComparator (never before used!). Specialize for const char*.
    Remove CompareTypeID and LLCompareTypeID because we now actively forbid using
    LLRegistry<std::type_info*, ...>; remove only known reference
    (LLWidgetNameRegistry definition).
Code owners
Assign users and groups as approvers for specific file changes. Learn more.