diff --git a/src/core/ptr.cc b/src/core/ptr.cc index 3c852821a..41e0539ed 100644 --- a/src/core/ptr.cc +++ b/src/core/ptr.cc @@ -249,8 +249,8 @@ PtrTest::RunTests (void) Ptr p4 = CallTestConst (p1); Ptr p5 = p4; //p4 = p5; You cannot make a const pointer be a non-const pointer. - // but if you use const_pointer_cast, you can. - p4 = const_pointer_cast (p5); + // but if you use ConstCast, you can. + p4 = ConstCast (p5); p5 = p1; Ptr p; if (p == 0) diff --git a/src/core/ptr.h b/src/core/ptr.h index 77a612437..4861ceb4b 100644 --- a/src/core/ptr.h +++ b/src/core/ptr.h @@ -361,11 +361,18 @@ bool operator >= (const Ptr &lhs, const Ptr &rhs) template Ptr -const_pointer_cast (Ptr const&p) +ConstCast (Ptr const&p) { return Ptr (const_cast (PeekPointer (p))); } +template +Ptr +DynamicCast (Ptr const&p) +{ + return Ptr (dynamic_cast (PeekPointer (p))); +} + /**************************************************** * Member method implementations.