<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/llsortedvector.h, branch 26.4</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=26.4</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=26.4'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2013-05-06T00:45:35Z</updated>
<entry>
<title>Spring cleaning: removed unused .cpp and.h files, and cleaned up header dependencies</title>
<updated>2013-05-06T00:45:35Z</updated>
<author>
<name>Richard Linden</name>
<email>none@none</email>
</author>
<published>2013-05-06T00:45:35Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=6b81b8629e67d82a7620e48781ded73b6e6126ea'/>
<id>urn:sha1:6b81b8629e67d82a7620e48781ded73b6e6126ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix Linux UI issues introduced by moving llinitparam to llcommon.</title>
<updated>2012-04-11T15:01:00Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2012-04-11T15:01:00Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=5459f2ee987014e88ece017632d73829d844cb6f'/>
<id>urn:sha1:5459f2ee987014e88ece017632d73829d844cb6f</id>
<content type='text'>
In a number of places, the viewer uses a lookup based on std::type_info*. We
used to use std::map&lt;std::type_info*, whatever&gt;. But on Linux,
&amp;typeid(SomeType) can produce different pointer values, depending on the
dynamic load module in which the code is executed. Introduce
LLTypeInfoLookup&lt;T&gt;, with an API that deliberately mimics
std::map&lt;std::type_info*, T&gt;. 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&lt;std::type_info*, ...&gt; in
llinitparam.h and llregistry.h.
Introduce LLSortedVector&lt;KEY, VALUE&gt;, a std::vector&lt;std::pair&lt;KEY, VALUE&gt;&gt;
maintained in sorted order with binary-search lookup. It presents a subset of
the std::map&lt;KEY, VALUE&gt; API.
</content>
</entry>
</feed>
