From 1cbe0f68c59554e197158c9000dca617cb028056 Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Sun, 15 Apr 2012 23:49:26 -0700 Subject: [PATCH] another round of gcc fixes --- indra/llxuixml/llinitparam.h | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/indra/llxuixml/llinitparam.h b/indra/llxuixml/llinitparam.h index fdcdf812943..9135b200ab6 100644 --- a/indra/llxuixml/llinitparam.h +++ b/indra/llxuixml/llinitparam.h @@ -360,6 +360,7 @@ namespace LLInitParam { public: typedef TypeValuesHelper<std::string, DERIVED_TYPE, true> self_t; + typedef TypeValuesHelper<std::string, DERIVED_TYPE, false> base_t; typedef std::string value_t; typedef std::string name_t; typedef self_t type_value_t; @@ -375,25 +376,25 @@ namespace LLInitParam self_t& operator =(const std::string& name) { - if (getValueFromName(name, ParamValue<T>::getValue())) + if (base_t::getValueFromName(name, ParamValue<std::string>::getValue())) { - setValueName(name); + base_t::setValueName(name); } else { - setValue(name); + ParamValue<std::string>::setValue(name); } return *this; } operator const value_t&() const { - return ParamValue<T>::getValue(); + return ParamValue<std::string>::getValue(); } const value_t& operator()() const { - return ParamValue<T>::getValue(); + return ParamValue<std::string>::getValue(); } }; @@ -1778,7 +1779,7 @@ namespace LLInitParam // // Nested classes for declaring parameters // - template <typename T, typename NAME_VALUE_LOOKUP = TypeValues<T>::type_value_t > + template <typename T, typename NAME_VALUE_LOOKUP = typename TypeValues<T>::type_value_t > class Optional : public TypedParam<T, NAME_VALUE_LOOKUP, false> { typedef TypedParam<T, NAME_VALUE_LOOKUP, false> super_t; @@ -1808,7 +1809,7 @@ namespace LLInitParam } }; - template <typename T, typename NAME_VALUE_LOOKUP = TypeValues<T>::type_value_t > + template <typename T, typename NAME_VALUE_LOOKUP = typename TypeValues<T>::type_value_t > class Mandatory : public TypedParam<T, NAME_VALUE_LOOKUP, false> { typedef TypedParam<T, NAME_VALUE_LOOKUP, false> super_t; @@ -1845,7 +1846,7 @@ namespace LLInitParam }; - template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = TypeValues<T>::type_value_t > + template <typename T, typename RANGE = BaseBlock::AnyAmount, typename NAME_VALUE_LOOKUP = typename TypeValues<T>::type_value_t > class Multiple : public TypedParam<T, NAME_VALUE_LOOKUP, true> { typedef TypedParam<T, NAME_VALUE_LOOKUP, true> super_t; -- GitLab