Skip to content
Snippets Groups Projects
  1. Sep 30, 2016
  2. Nov 10, 2015
  3. Jan 21, 2015
    • Nat Goodspeed's avatar
      Disambiguate constructor's initialization call to its base class. · ba43a216
      Nat Goodspeed authored
      A particular LLInitParam::TypeValuesHelper specialization is derived from a
      different TypeValuesHelper specialization. The subclass constructor
      TypeValuesHelper(...) has previously forwarded the call to its base-class
      constructor with:
      TypeValuesHelper(val): TypeValuesHelper(val) {}
      This is the first time I've looked at that; I'm a bit surprised that previous
      compilers blithely accept it, and apparently understand the intent. gcc 4.7
      complains that we would need to turn on -std=c++11 to support delegating
      constructors; obviously the second TypeValuesHelper is now assumed to be the
      class being defined, rather than its base class.
      Fortunately the class already has typedefs for both specializations, fully
      qualified with all template parameters, so I simply replaced the second
      TypeValuesHelper reference with base_t.
      ba43a216
  4. Oct 17, 2014
  5. May 23, 2014
  6. Dec 09, 2013
  7. Aug 23, 2013
  8. Jul 19, 2013
  9. Jun 05, 2013
  10. Mar 29, 2013
  11. Feb 18, 2013
  12. Feb 14, 2013
  13. Feb 13, 2013
  14. Nov 15, 2012
    • Richard Linden's avatar
      SH-3406 WIP convert fast timers to lltrace system · 9d77e030
      Richard Linden authored
      cleaning up build
      moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc
      streamlined Time class and consolidated functionality in BlockTimer class
      llfasttimer is no longer included via llstring.h, so had to add it manually in several places
      9d77e030
  15. Nov 05, 2012
  16. Nov 02, 2012
  17. Nov 01, 2012
  18. Oct 26, 2012
  19. Oct 25, 2012
  20. Oct 24, 2012
  21. Oct 23, 2012
  22. Oct 22, 2012
  23. Oct 19, 2012
  24. Sep 12, 2012
  25. Sep 11, 2012
  26. Aug 03, 2012
  27. Jul 18, 2012
    • Nat Goodspeed's avatar
      MAINT-1175: Ditch LLTypeInfoLookup, make map<const type_info*> work. · 2e83dfa2
      Nat Goodspeed authored
      Instead of forbidding std::map<const std::type_info*, ...> outright (which
      includes LLRegistry<const std::type_info*, ...> and LLRegistrySingleton<const
      std::type_info*, ...>), try to make it work by specializing std::less<const
      std::type_info*> to use std::type_info::before().
      Make LLRegistryDefaultComparator<T> use std::less<T> so it can capitalize on
      that specialization.
      2e83dfa2
  28. Jul 11, 2012
    • Nat Goodspeed's avatar
      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
    • Nat Goodspeed's avatar
      MAINT-1175: Change LLTypeInfoLookup API for future optimizations. · 578d70de
      Nat Goodspeed authored
      Per discussion with Richard, accept the type key for insert() and find() as a
      template parameter rather than as std::type_info*. This permits (e.g.) some
      sort of compile-time prehashing for common types, without changing the API.
      Eliminate iterators from the API altogether, thus avoiding costs associated
      with transform_iterator.
      Fix existing references in llinitparam.h.
      578d70de
  29. Apr 11, 2012
    • Nat Goodspeed's avatar
      Fix Linux UI issues introduced by moving llinitparam to llcommon. · 5459f2ee
      Nat Goodspeed authored
      In a number of places, the viewer uses a lookup based on std::type_info*. We
      used to use std::map<std::type_info*, whatever>. But on Linux,
      &typeid(SomeType) can produce different pointer values, depending on the
      dynamic load module in which the code is executed. Introduce
      LLTypeInfoLookup<T>, with an API that deliberately mimics
      std::map<std::type_info*, T>. LLTypeInfoLookup::find() first tries an
      efficient search for the specified std::type_info*. But if that fails, it
      scans the underlying container for a match on the std::type_info::name()
      string. If found, it caches the new std::type_info* to optimize subsequent
      lookups with the same pointer.
      Use LLTypeInfoLookup instead of std::map<std::type_info*, ...> in
      llinitparam.h and llregistry.h.
      Introduce LLSortedVector<KEY, VALUE>, a std::vector<std::pair<KEY, VALUE>>
      maintained in sorted order with binary-search lookup. It presents a subset of
      the std::map<KEY, VALUE> API.
      5459f2ee
  30. Jan 20, 2012
  31. Dec 01, 2011
  32. Nov 30, 2011
  33. Nov 29, 2011
  34. Nov 19, 2011
  35. Nov 18, 2011
  36. Nov 16, 2011
  37. Nov 11, 2011
Loading