allow access to the pointee's TypeId.
--- a/src/core/pointer.h Wed Apr 09 13:05:20 2008 -0700
+++ b/src/core/pointer.h Wed Apr 09 14:28:16 2008 -0700
@@ -76,7 +76,11 @@
MakePointerAccessor (Ptr<U> (T::*getter) (void) const,
void (T::*setter) (Ptr<U>));
-class PointerChecker : public AttributeChecker {};
+class PointerChecker : public AttributeChecker
+{
+public:
+ virtual TypeId GetPointeeTypeId (void) const = 0;
+};
template <typename T>
Ptr<AttributeChecker> MakePointerChecker (void);
@@ -121,6 +125,9 @@
virtual Attribute Create (void) const {
return Attribute::Create<PointerValue> ();
}
+ virtual TypeId GetPointeeTypeId (void) const {
+ return T::GetTypeId ();
+ }
};
/********************************************************