# hosts/policies.h
## `PubBasePolicy::select_multicast_groups`
`virtual PacketGroups select_multicast_groups(PacketGroups update_groups_mask) = 0`
## `PubBasePolicy::~PubBasePolicy`
`virtual ~PubBasePolicy() = default`
## `PubRRPolicy::PubRRPolicy`
`explicit PubRRPolicy(std::vector<ReplicaRange> ranges) : _ranges(std::move(ranges))`
## `PubRRPolicy::select_multicast_groups`
`PacketGroups select_multicast_groups(PacketGroups update_groups_mask) override`
## `group_present`
`static bool group_present(PacketGroups mask, uint32_t gid) noexcept{`
## `validate_and_build`
`void validate_and_build(){`