diff --git a/include/aidge/utils/DynamicAttributes.hpp b/include/aidge/utils/DynamicAttributes.hpp index 5218def658acd164a8ce1c4a28b2a916d6cd930d..26a2d07667da78c9b4c37ad8700fd5b17c603a4a 100644 --- a/include/aidge/utils/DynamicAttributes.hpp +++ b/include/aidge/utils/DynamicAttributes.hpp @@ -144,17 +144,15 @@ public: void delAttr(const std::string& name) { const auto dot = name.find('.'); if (dot == name.npos) { - AIDGE_ASSERT(isPascalCase(name), "Aidge standard requires PascalCase for C++ Attributes for \"{}\".", name); - mAttrs.erase(name); + mAttrs.erase((isSnakeCase(name)) ? snakeToPascal(name) : name); #ifdef PYBIND - mAttrsPy.erase(pascalToSnake(name)); + mAttrsPy.erase((isPascalCase(name)) ? pascalToSnake(name) : name); #endif } else { const auto ns = name.substr(0, dot); - AIDGE_ASSERT(isPascalCase(ns), "Aidge standard requires PascalCase for C++ Attributes namespace for \"{}\".", ns); const auto nsName = name.substr(dot + 1); - future_std::any_cast<DynamicAttributes&>(mAttrs.at(ns)).delAttr(nsName); + future_std::any_cast<DynamicAttributes&>(mAttrs.at((isSnakeCase(ns)) ? snakeToPascal(ns) : ns)).delAttr(nsName); } }