diff --git a/src/core/model/make-event.h b/src/core/model/make-event.h index ca1fbfc32..a18853cee 100644 --- a/src/core/model/make-event.h +++ b/src/core/model/make-event.h @@ -94,6 +94,9 @@ EventImpl* MakeEvent(T function); namespace ns3 { +namespace internal +{ + /** * \ingroup events * Helper for the MakeEvent functions which take a class method. @@ -130,6 +133,8 @@ struct EventMemberImplObjTraits } }; +} // namespace internal + template std::enable_if_t, EventImpl*> MakeEvent(MEM mem_ptr, OBJ obj, Ts... args) @@ -154,7 +159,8 @@ MakeEvent(MEM mem_ptr, OBJ obj, Ts... args) { std::apply( [this](Ts... args) { - (EventMemberImplObjTraits::GetReference(m_obj).*m_function)(args...); + (internal::EventMemberImplObjTraits::GetReference(m_obj).* + m_function)(args...); }, m_arguments); } diff --git a/src/core/model/ptr.h b/src/core/model/ptr.h index 06a988b01..7f0cf3039 100644 --- a/src/core/model/ptr.h +++ b/src/core/model/ptr.h @@ -401,6 +401,9 @@ struct CallbackTraits> } }; +namespace internal +{ + // Duplicate of struct EventMemberImplObjTraits as defined in make-event.h // We repeat it here to declare a specialization on Ptr // without making this header dependent on make-event.h @@ -428,6 +431,8 @@ struct EventMemberImplObjTraits> } }; +} // namespace internal + } // namespace ns3 namespace ns3