Type-safe parameter management with sorting-specific defaults.
136 {
137 if (name == "strategy") {
138 auto strategy_result = safe_any_cast<SortingStrategy>(value);
139 if (strategy_result) {
141 return;
142 }
143 auto str_result = safe_any_cast<std::string>(value);
144 if (str_result) {
145 auto strategy_enum = Reflect::string_to_enum_case_insensitive<SortingStrategy>(*str_result.value);
146 if (strategy_enum) {
148 return;
149 }
150 }
151 }
152 if (name == "direction") {
153 auto direction_result = safe_any_cast<SortingDirection>(value);
154 if (direction_result) {
156 return;
157 }
158 auto str_result = safe_any_cast<std::string>(value);
159 if (str_result) {
160 auto direction_enum = Reflect::string_to_enum_case_insensitive<SortingDirection>(*str_result.value);
161 if (direction_enum) {
163 return;
164 }
165 }
166 }
167 if (name == "granularity") {
168 auto granularity_result = safe_any_cast<SortingGranularity>(value);
169 if (granularity_result) {
171 return;
172 }
173 auto str_result = safe_any_cast<std::string>(value);
174 if (str_result) {
175 auto granularity_enum = Reflect::string_to_enum_case_insensitive<SortingGranularity>(*str_result.value);
176 if (granularity_enum) {
178 return;
179 }
180 }
181 }
183 }
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