You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
To allow overriding in subclasses.
DrbTable is left alone on purpose: it is a by-value member of NrSdap, so
it can never be substituted polymorphically and a vtable would buy nothing.
Also adds the virtual destructors that the newly polymorphic classes
need. ConflictGraph is a genuine fix rather than a precaution: it already had
pure virtual methods, and LteMacEnbD2D holds a DistanceBasedConflictGraph
through a ConflictGraph pointer, so destroying one was undefined behaviour.
RlcRetransmissionBuffer's destructor is made virtual along with it, as
the class becomes polymorphic here.
The four TR 38.901 path loss helpers in NrChannelModel_3GPP38_901 have
the same signatures as the ones in NrChannelModel and were hiding them; they are
marked override now that the base ones are virtual. This does not change
behaviour, because both classes override computePathLoss(), which is their only
caller. The same applies to getStdDev(), whose only caller computeShadowing() is
likewise overridden.
Note that computeLosProbability() is deliberately left non-virtual for
now: NrChannelModel_3GPP38_901 does not override getAttenuation(), so making
it virtual would genuinely change which LOS model runs, and needs its own
fix.
0 commit comments