# #include <sources/headers/BNAlgebra.h>template<typename Coeff> Label class

auxillary class for the definition of BNMor

represents an elementary morphism of the form , , or for some coefficient and positive integer . We sometimes also interpret elements in the subalgebra of as elements of the free polynomial ring . This is the case if the boolean argument 'is_4ended' is false.

## Constructors, destructors, conversion operators

int type, Coeff coeff)
type is an integer whose absolute value is the exponent of (if ) or (if ); coeff is the coefficient of the label

## Public functions

auto get_coeff() const -> Coeff
coefficient of label ( )
auto get_type() const -> int
type of label ( )
auto is_type(const bool& faceD) const -> bool
true if , false if , undefined behaviour if .
auto operator!=(const Label<Coeff>& label2) const -> bool
true if label types ( ) differ (ignores coefficients)
auto operator<(const Label<Coeff>& label2) const -> bool
true if label types ( ) are ordered (ignores coefficients)
auto operator==(const Label<Coeff>& label2) const -> bool
true if label types ( ) agree (ignores coefficients)
void set_coeff(const Coeff& set_coeff_to_1)
replace coefficient of label ( ) by a new one
auto to_string(const bool& with_coeff = true, const bool& is_4ended = true) const -> std::string
string representation of label; coefficients are included, iff the first argument is true; if second argument is false, non-negative label types ( ) are interpreted as powers of the varible and negative label types ( ) raise exceptions.

## Public variables

friend BNMor< Coeff >
friend (BNMor)

## Friends

auto label_is_zero(const Label<Coeff>& label) -> bool
true if the coefficient of the label is zero. This function is used in BNMor::simplify().