#[repr(C)]
pub(crate) struct NetlinkAttributeFollowedByNetlinkAttribute<CurrentPayload: Sized, Following: NetlinkAttributeOrFollowedByNetlinkAttribute>
{
current: NetlinkAttribute<CurrentPayload>,
following: Following,
}
impl<CurrentPayload: Sized, Following: NetlinkAttributeOrFollowedByNetlinkAttribute> NetlinkAttributeOrFollowedByNetlinkAttribute for NetlinkAttributeFollowedByNetlinkAttribute<CurrentPayload, Following>
{
}
impl<CurrentPayload: Sized, FollowingPayload: Sized> NetlinkAttributeFollowedByNetlinkAttribute<CurrentPayload, NetlinkAttribute<FollowingPayload>>
{
#[inline(always)]
pub(crate) fn followed_by<V: NetlinkAttributeOrFollowedByNetlinkAttribute>(self, following: V) -> NetlinkAttributeFollowedByNetlinkAttribute<CurrentPayload, NetlinkAttributeFollowedByNetlinkAttribute<FollowingPayload, V>>
{
NetlinkAttributeFollowedByNetlinkAttribute
{
current: self.current,
following: NetlinkAttributeFollowedByNetlinkAttribute
{
current: self.following,
following,
}
}
}
#[inline(always)]
pub(crate) fn followed_by_attribute<Following: Sized>(self, netlink_attribute_type: impl NetlinkAttributeType, payload: Following) -> NetlinkAttributeFollowedByNetlinkAttribute<CurrentPayload, NetlinkAttributeFollowedByNetlinkAttribute<FollowingPayload, NetlinkAttribute<Following>>>
{
self.followed_by(attribute(netlink_attribute_type, payload))
}
}