# network/switch/multicast_table.h ## class MulticastTable — public interface ### `MulticastTable();` ### `bool add_tree(std::size_t group_id, uint16_t tree_id);` ### `bool delete_tree(std::size_t group_id, uint16_t tree_id);` ### `bool add_child_port(std::size_t group_id, uint16_t tree_id, PortId out_port);` ### `bool delete_child_port(std::size_t group_id, uint16_t tree_id, PortId out_port);` ### `bool set_parent(std::size_t group_id, uint16_t tree_id, PortId parent);` ### `bool set_weight(std::size_t group_id, uint16_t tree_id, uint8_t w);` ### `bool set_epoch(std::size_t group_id, uint16_t tree_id, uint8_t epoch);` ### `const std::vector *trees_of(std::size_t group_id) const;` ### `std::size_t group_count() const noexcept;` ### `std::vector get_port_list(PacketGroups groups) const;`