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