copy_closure¶
-
template<typename
TCollection>
FroidurePin *libsemigroups::FroidurePin::copy_closure(TCollection const &coll)¶ Returns a new semigroup generated by
thisand copies of the non-redundant elements ofcoll.This member function is equivalent to copying
thisand then calling FroidurePin::closure on the copy withcoll, but this member function avoids copying the parts ofthisthat are immediately invalidated by FroidurePin::closure.The elements the argument
collare copied into the semigroup, and should be deleted by the caller. If an element incollhas a degree different tothis->degree(), a LibsemigroupsException will be thrown.