diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2023-07-27 16:29:41 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2023-07-27 16:29:41 -0400 |
commit | 7fcb2bdb05ca1cd6846e6c1a8227a54b2cf0dcc2 (patch) | |
tree | fcceb2d23dee3620089c5e25b8fdc8968139b47b /indra/llcommon/llpredicate.h | |
parent | 1cebf95f13aecf6050cde296bce6696ba791378b (diff) |
DRTVWR-587: Make LLSDParam<LLSD> simplify type when delegating.
LLSDParam<LLSD> is the generic case, when we need to pass LLSDParam adapters
to some set of function parameters whose types we don't specifically know. Its
templated conversion operator notices the actual parameter type T and
delegates conversion to the specific LLSDParam<T> specialization.
But when T has picked up references, e.g. somewhere along the way in the
LL::apply() machinery, the compiler might not choose the desired conversion
because we don't have a sufficiently specific LLSDParam specialization.
LLSDParam<LLSD> can address that by using std::decay_t<T> when delegating to
the specific LLSDParam specialization. This removes references, const and
volatile.
Diffstat (limited to 'indra/llcommon/llpredicate.h')
0 files changed, 0 insertions, 0 deletions