summaryrefslogtreecommitdiff
path: root/indra/llcommon/llinitparam.h
AgeCommit message (Collapse)Author
2013-03-22merge with viewer-releaseRichard Linden
2012-11-14SH-3406 WIP convert fast timers to lltrace systemRichard Linden
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
2012-11-05SH-3499 WIP Ensure asset stats output is correctRichard Linden
fixed copy behavior of recordings and accumulator buffers
2012-11-02SH-3499 Ensure asset stats output is correctRichard Linden
improvements to predicate API default rules encapsulated in LLInitParam removed empty flag from viewer asset stats
2012-11-01SH-3499 Ensure asset stats output is correctRichard Linden
added support for specifying predicates for xui and llsd serialization
2012-10-26SH-3405 WIP convert existing stats to lltrace systemRichard Linden
fixed llpredicate so that values and rules work uniformly with predicate logic and/or/negate works in parallel with set/clear
2012-10-25SH-3405 WIP convert existing stats to lltrace systemRichard Linden
fixed crash on exit
2012-10-23SH-3405 WIP convert existing stats to lltrace systemRichard Linden
improved predicate system, added uncertain/unknown predicates
2012-10-22Automated merge with ssh://hg.lindenlab.com/richard/viewer-interestingRichard Linden
2012-10-22SH-3405 WIP convert existing stats to lltrace systemRichard Linden
added return value to serialize function to track if any values were written
2012-10-22SH-3405 WIP convert existing stats to lltrace systemRichard Linden
sanitized param block code to accept isValid and isProvided at any point added predicates to control serialization
2012-10-19SH-3405 WIP convert existing stats to lltrace systemRichard Linden
finished most of conversion of llviewerassetstats ported some param block fixes from viewer-chui converted viewer asset stats to param block format
2012-09-12MAINT-1556 FIX LLSD param blocks should accept enum valuesRichard Linden
fix for gcc builds
2012-09-11MAINT-1556 FIX LLSD param blocks should accept enum valuesRichard Linden
always parse named values first added detection of enum-type values and now parse as ints
2012-07-18MAINT-1175: Ditch LLTypeInfoLookup, make map<const type_info*> work.Nat Goodspeed
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.
2012-07-11MAINT-1175: Properly pass LLRegistry's COMPARATOR to underlying map.Nat Goodspeed
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).
2012-07-11MAINT-1175: Change LLTypeInfoLookup API for future optimizations.Nat Goodspeed
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.
2012-05-09Automated merge with http://hg.secondlife.com/viewer-releaseNat Goodspeed
2012-04-11Fix Linux UI issues introduced by moving llinitparam to llcommon.Nat Goodspeed
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.
2012-01-20moved LLSDParam to llcommon so that LLSD<->Param Block conversion are usable ↵Richard Linden
by everyone
2012-01-20removed LLXUIXML libraryRichard Linden
moved LLInitParam, and LLRegistry to llcommon moved LLUIColor, LLTrans, and LLXUIParser to llui reviewed by Nat