Type-safe parameter management with sorting-specific defaults.
158 {
159 if (name == "strategy") {
160 auto strategy_result = safe_any_cast<SortingStrategy>(value);
161 if (strategy_result) {
163 return;
164 }
165 auto str_result = safe_any_cast<std::string>(value);
166 if (str_result) {
167 auto strategy_enum = Utils::string_to_enum_case_insensitive<SortingStrategy>(*str_result.value);
168 if (strategy_enum) {
170 return;
171 }
172 }
173 }
174 if (name == "direction") {
175 auto direction_result = safe_any_cast<SortingDirection>(value);
176 if (direction_result) {
178 return;
179 }
180 auto str_result = safe_any_cast<std::string>(value);
181 if (str_result) {
182 auto direction_enum = Utils::string_to_enum_case_insensitive<SortingDirection>(*str_result.value);
183 if (direction_enum) {
185 return;
186 }
187 }
188 }
189 if (name == "granularity") {
190 auto granularity_result = safe_any_cast<SortingGranularity>(value);
191 if (granularity_result) {
193 return;
194 }
195 auto str_result = safe_any_cast<std::string>(value);
196 if (str_result) {
197 auto granularity_enum = Utils::string_to_enum_case_insensitive<SortingGranularity>(*str_result.value);
198 if (granularity_enum) {
200 return;
201 }
202 }
203 }
205 }
virtual void set_sorting_parameter(const std::string &name, std::any value)
Sorting-specific parameter handling (override for custom parameters)
SortingDirection m_direction
SortingStrategy m_strategy
SortingGranularity m_granularity