Skip to content
Snippets Groups Projects
  1. Nov 05, 2012
  2. Nov 02, 2012
  3. Nov 01, 2012
  4. Oct 26, 2012
  5. Oct 25, 2012
  6. Oct 24, 2012
  7. Oct 23, 2012
  8. Oct 22, 2012
  9. Oct 19, 2012
  10. 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
  11. 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
  12. 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
  13. Jan 20, 2012
  14. Dec 01, 2011
  15. Nov 30, 2011
  16. Nov 29, 2011
  17. Nov 19, 2011
  18. Nov 18, 2011
  19. Nov 16, 2011
  20. Nov 11, 2011
  21. Nov 10, 2011
  22. Nov 08, 2011
  23. Oct 27, 2011
  24. Oct 20, 2011
  25. Oct 13, 2011
  26. Oct 10, 2011
  27. Oct 04, 2011
  28. Oct 03, 2011
  29. Sep 30, 2011
    • Richard Nelson's avatar
      param block cleanup · 09e179b2
      Richard Nelson authored
      added Flag as value type
      moved Batch to BatchBlock
      renamed Choice to ChoiceBlock
      made merging of parameters for ValueParams consistent (fillFrom and overwriteFrom are inverses of each other now)
      made iteration over Multiple<T> type params easier
      initial schema param blocks
      09e179b2
  30. Sep 19, 2011
  31. Sep 16, 2011
    • Richard Nelson's avatar
      added Flag as new param type... · c10832bb
      Richard Nelson authored
      usage: <foo><bar/></foo> will set the bar flag on foo
      LLSD foo; foo["bar"]; will set the bar flag on foo
      converted notifications unique to use flag
      c10832bb
  32. Sep 09, 2011
  33. Sep 06, 2011
  34. Jul 14, 2011
  35. Jul 13, 2011
  36. Jun 08, 2011
Loading