Added bad cast check.

pull/3/head
yhirose 9 years ago
parent 3f639e37f0
commit e6673afa0e
  1. 14
      peglib.h

@ -84,7 +84,12 @@ public:
>
T& get() {
assert(content_);
return dynamic_cast<holder<T>*>(content_)->value_;
auto p = dynamic_cast<holder<T>*>(content_);
assert(p);
if (!p) {
throw std::bad_cast();
}
return p->value_;
}
template <
@ -101,7 +106,12 @@ public:
>
const T& get() const {
assert(content_);
return dynamic_cast<holder<T>*>(content_)->value_;
auto p = dynamic_cast<holder<T>*>(content_);
assert(p);
if (!p) {
throw std::bad_cast();
}
return p->value_;
}
template <

Loading…
Cancel
Save