# Constructors¶

This page contains information about the constructors for the,fpsemigroup::KnuthBendix class.

libsemigroups::fpsemigroup::KnuthBendix::KnuthBendix()

Default constructor.

Constructs a KnuthBendix instance with no rules, and the short-lex reduction ordering.

Parameters

(None)

Complexity

Constant.

inline explicit libsemigroups::fpsemigroup::KnuthBendix::KnuthBendix(FroidurePinBase &S)

Constructs from a FroidurePin instance.

Complexity

$$O(|S||A|)$$ where $$A$$ is the set of generators used to define S.

Parameters

S – the FroidurePin instance.

libsemigroups::fpsemigroup::KnuthBendix::KnuthBendix(KnuthBendix const &copy)

Copy constructor.

Complexity

$$O(n)$$ where $$n$$ is the sum of the lengths of the words in rules of copy.

Parameters

copy – the KnuthBendix instance to copy.

libsemigroups::fpsemigroup::KnuthBendix::KnuthBendix(KnuthBendix&&)

Deleted.

inline explicit libsemigroups::fpsemigroup::KnuthBendix::KnuthBendix(std::shared_ptr<FroidurePinBase> S)

Constructs from a shared pointer to a FroidurePin instance.

Complexity

$$O(|S||A|)$$ where $$A$$ is the set of generators used to define S.

Parameters

S – the FroidurePin instance.