in cpp/include/darabonba/util.hpp [168:179]
template<class Tp> static bool isUnset(const boost::any &value) {
if (typeid(shared_ptr<boost::any>) == value.type()) {
shared_ptr<boost::any> val_ptr = boost::any_cast<shared_ptr<boost::any>>(value);
return !val_ptr || val_ptr->empty();
}
if (typeid(shared_ptr<Tp>) == value.type()) {
return !boost::any_cast<shared_ptr<Tp>>(value);
}
return value.empty();
};