Skip to content

Commit 951918b

Browse files
devin-ai-integration[bot]ohhmm
authored andcommitted
TypedVarHost::Has
1 parent e7bbfce commit 951918b

1 file changed

Lines changed: 20 additions & 9 deletions

File tree

omnn/math/VarHost.h

Lines changed: 20 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -192,17 +192,28 @@ namespace math {
192192
return IsArithmeticId;
193193
}
194194

195-
bool Has(const ::std::any& id) const override {
196-
IMPLEMENT
197-
return varIds.find(::std::any_cast<T>(id)) != varIds.end();
195+
bool Has(const std::any& id) const override {
196+
try {
197+
return varIds.find(std::any_cast<T>(id)) != varIds.end();
198+
} catch (const std::bad_any_cast&) {
199+
// Handle the error, e.g., log it or return a default value
200+
// For now, we'll return false to indicate the id was not found
201+
return false;
202+
}
198203
}
199-
200-
size_t Hash(const ::std::any& id) const override {
201-
return std::hash<T>()(::std::any_cast<T>(id));
204+
205+
size_t Hash(const std::any& id) const override {
206+
return std::hash<T>()(std::any_cast<T>(id));
202207
}
203-
204-
bool CompareIdsLess(const ::std::any& a, const ::std::any& b) const override {
205-
return ::std::any_cast<T>(a) < ::std::any_cast<T>(b);
208+
209+
bool CompareIdsLess(const std::any& a, const std::any& b) const override {
210+
try {
211+
return std::any_cast<T>(a) < std::any_cast<T>(b);
212+
} catch (const std::bad_any_cast&) {
213+
// Handle the error, e.g., log it or return a default value
214+
// For now, we'll return false to indicate the comparison failed
215+
return false;
216+
}
206217
}
207218

208219
bool CompareIdsEqual(const ::std::any& a, const ::std::any& b) const override {

0 commit comments

Comments
 (0)