<feed xmlns='http://www.w3.org/2005/Atom'>
<title>viewer.git/indra/llcommon/tests/apply_test.cpp, branch cef_147</title>
<subtitle>Megapahit's fork of the Second Life viewer.
</subtitle>
<id>https://megapahit.org/viewer.git/atom?h=cef_147</id>
<link rel='self' href='https://megapahit.org/viewer.git/atom?h=cef_147'/>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/'/>
<updated>2024-04-29T04:56:09Z</updated>
<entry>
<title>#824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed</title>
<updated>2024-04-29T04:56:09Z</updated>
<author>
<name>Andrey Lihatskiy</name>
<email>alihatskiy@productengine.com</email>
</author>
<published>2024-04-29T04:43:28Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=1b68f71348ecf3983b76b40d7940da8377f049b7'/>
<id>urn:sha1:1b68f71348ecf3983b76b40d7940da8377f049b7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Post merge build fix</title>
<updated>2023-10-25T20:37:23Z</updated>
<author>
<name>Andrey Kleshchev</name>
<email>andreykproductengine@lindenlab.com</email>
</author>
<published>2023-10-25T19:57:57Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=34b83e4047b3170e744538580dc8f7ddee387ba7'/>
<id>urn:sha1:34b83e4047b3170e744538580dc8f7ddee387ba7</id>
<content type='text'>
</content>
</entry>
<entry>
<title>DRTVWR-558: Add LL::apply() test for function(const LLSD&amp;).</title>
<updated>2023-07-13T16:34:31Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-12-20T14:48:36Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=8855a82f512286bce6bd131d87dcafd303f2a5f6'/>
<id>urn:sha1:8855a82f512286bce6bd131d87dcafd303f2a5f6</id>
<content type='text'>
(cherry picked from commit 7d33e00d925614911a7602da1bd79916cc849ad7)
</content>
</entry>
<entry>
<title>DRTVWR-558: Add unit test for VAPPLY().</title>
<updated>2023-07-13T16:34:31Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-12-19T22:27:36Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=196e49c1f8bd58ab9ce81843c10d452284ca7569'/>
<id>urn:sha1:196e49c1f8bd58ab9ce81843c10d452284ca7569</id>
<content type='text'>
Add to apply_test.cpp a collect() function that incrementally accumulates an
arbitrary number of arguments into a std::vector&lt;std::string&gt;. Construct a
std::array&lt;std::string&gt; to pass it, using VAPPLY().

Clarify in header comments that LL::apply() can't call a variadic function
with arguments of dynamic size: std::vector or LLSD. The compiler can deduce
how many arguments to pass to a function with a fixed argument list; it can
deduce how many arguments to pass to a variadic function with a fixed number
of arguments. But it can't compile a call to a variadic function with an
arguments data structure whose size can vary at runtime.

(cherry picked from commit ceed33396266b123896f7cfb9b90abdf240e1eec)
</content>
</entry>
<entry>
<title>DRTVWR-558: Extend LL::apply() to LLSD array arguments.</title>
<updated>2023-07-13T16:34:12Z</updated>
<author>
<name>Nat Goodspeed</name>
<email>nat@lindenlab.com</email>
</author>
<published>2022-12-19T21:29:06Z</published>
<link rel='alternate' type='text/html' href='https://megapahit.org/viewer.git/commit/?id=c682603417e1ef8290aacf274ff49821bd204c0b'/>
<id>urn:sha1:c682603417e1ef8290aacf274ff49821bd204c0b</id>
<content type='text'>
Make apply(function, std::array) and apply(function, std::vector) available
even when we borrow the C++17 implementation of apply(function, std::tuple).

Add apply(function, LLSD) with interpretations:

* isUndefined() is treated as an empty array, for calling a nullary function
* scalar LLSD is treated as a single-entry array, for calling a unary function
* isArray() converts function parameters using LLSDParam
* isMap() is an error.

Add unit tests for all flavors of LL::apply().

(cherry picked from commit 3006c24251c6259d00df9e0f4f66b8a617e6026d)
</content>
</entry>
</feed>
