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