Constructors

This page contains information about the constructors for the Blocks class.

libsemigroups::Blocks::Blocks() noexcept = default

Constructs a blocks object of size 0.

Complexity

Constant.

Parameters

(None)

Throws

(None) – This function is noexcept and is guaranteed never to throw.

libsemigroups::Blocks::Blocks(Blocks const &copy) = default

Default copy constructor.

libsemigroups::Blocks::Blocks(Blocks &&copy) = default

Default move constructor.

libsemigroups::Blocks::Blocks(const_iterator first, const_iterator last)

Constructs a blocks object from iterators.

The degree of the blocks object constructed is last - first / 2.

See also

validate(Blocks const&)

Complexity

Linear in last - first.

Warning

No checks are made on the validity of the arguments to this function.

Parameters
  • first – the index of the block containing the first point

  • last – the index of the block containing the first point

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

inline libsemigroups::Blocks::Blocks(size_t degree)

Constructs a blocks object of given degree.

Complexity

Linear in degree.

Parameters

degree – the degree of the blocks object to construct.

Throws

(None) – This function guarantees not to throw a LibsemigroupsException.

Blocks &libsemigroups::Blocks::operator=(Blocks const&) = default

Default copy assignment operator.

Blocks &libsemigroups::Blocks::operator=(Blocks&&) = default

Default move assignment operator.