This page contains documentation for the make function overloads for safely constructing HPCombi types.
|
| template<typename Container> |
| HPCombi::Perm16 | make< HPCombi::Perm16 > (Container &&cont) |
| | Construct a HPCombi::Perm16 from universal reference and check.
|
| |
| template<typename Container> |
| HPCombi::PPerm16 | make< HPCombi::PPerm16 > (Container &&cont) |
| | Construct a HPCombi::PPerm16 from container and check.
|
| |
| template<typename Int> |
| HPCombi::PPerm16 | make< HPCombi::PPerm16 > (std::initializer_list< Int > const &dom, std::initializer_list< Int > const &ran, size_t M=16) |
| | Construct a HPCombi::PPerm16 from domain, range, and degree, and check.
|
| |
| HPCombi::PPerm16 | make< HPCombi::PPerm16 > (std::vector< uint8_t > const &dom, std::vector< uint8_t > const &ran, size_t deg=16) |
| | Construct a HPCombi::PPerm16 from domain, range, and degree, and check.
|
| |
| template<typename Container> |
| HPCombi::PTransf16 | make< HPCombi::PTransf16 > (Container &&cont) |
| | Construct a HPCombi::PTransf16 from universal reference and check.
|
| |
| HPCombi::PTransf16 | make< HPCombi::PTransf16 > (std::vector< uint8_t > const &dom, std::vector< uint8_t > const &ran, size_t deg=16) |
| | Construct a HPCombi::PTransf16 from domain, range, and degree, and check.
|
| |
| template<typename Container> |
| HPCombi::Transf16 | make< HPCombi::Transf16 > (Container &&cont) |
| | Construct a HPCombi::Transf16 from universal reference and check.
|
| |
◆ make< HPCombi::Perm16 >()
template<typename Container>
| HPCombi::Perm16 make< HPCombi::Perm16 > |
( |
Container && | cont | ) |
|
|
nodiscard |
Constructs a HPCombi::Perm16 initialized using the container cont as follows: the image of the point i under the permutation is the value in position i of the container cont.
- Template Parameters
-
| Container | type of the container. |
- Parameters
-
- Returns
- A
HPCombi::Perm16 instance.
- Exceptions
-
| LibsemigroupsException | if any of the following hold:
- the size of
cont exceeds 16;
- any value in
cont exceeds cont.size().
|
- Complexity
- Linear in the size of the container
cont.
◆ make< HPCombi::PPerm16 >() [1/3]
template<typename Container>
| HPCombi::PPerm16 make< HPCombi::PPerm16 > |
( |
Container && | cont | ) |
|
|
nodiscard |
Constructs a HPCombi::PPerm16 initialized using the container cont as follows: the image of the point i under the partial perm is the value in position i of the container cont.
- Template Parameters
-
| Container | type of the container. |
- Parameters
-
- Returns
- A
HPCombi::PPerm16 instance.
- Exceptions
-
| LibsemigroupsException | if any of the following hold:
- the size of
cont exceeds 16;
- any value in
cont exceeds cont.size();
- any value in
cont is repeated.
|
- Complexity
- Linear in the size of the container
cont.
◆ make< HPCombi::PPerm16 >() [2/3]
Constructs a partial perm of degree M such that f[dom[i]] = ran[i] for all i and which is 0xFF on every other value in the range \([0, M)\).
- Template Parameters
-
| Int | the type of the integers in the initializer lists. |
- Parameters
-
| dom | the domain. |
| ran | the range. |
| M | the degree. |
- Exceptions
-
| LibsemigroupsException | if any of the following fail to hold:
- the value
M is not compatible with the template parameter N
dom and ran do not have the same size
- any value in
dom or ran is greater than M
- there are repeated entries in
dom or ran.
|
- Complexity
- Linear in the size of
dom.
◆ make< HPCombi::PPerm16 >() [3/3]
| HPCombi::PPerm16 make< HPCombi::PPerm16 > |
( |
std::vector< uint8_t > const & | dom, |
|
|
std::vector< uint8_t > const & | ran, |
|
|
size_t | deg = 16 ) |
|
nodiscard |
Constructs a partial perm of degree deg such that f[dom[i]] = ! ran[i] for all i and which is 0xFF on every other value in the range \([0, deg)\).
- Parameters
-
| dom | the domain. |
| ran | the range. |
| deg | the degree. |
- Exceptions
-
| LibsemigroupsException | if any of the following fail to hold:
- the value
deg is greater than 16
dom and ran do not have the same size
- any value in
dom or ran is greater than deg
- there are repeated entries in
dom or ran.
|
- Complexity
- Linear in the size of
dom.
◆ make< HPCombi::PTransf16 >() [1/2]
template<typename Container>
| HPCombi::PTransf16 make< HPCombi::PTransf16 > |
( |
Container && | cont | ) |
|
|
nodiscard |
Constructs a HPCombi::PTransf16 initialized using the container cont as follows: the image of the point i under the transformation is the value in position i of the container cont.
- Template Parameters
-
| Container | type of the container. |
- Parameters
-
- Returns
- A
HPCombi::PTransf16 instance.
- Exceptions
-
| LibsemigroupsException | if any of the following hold:
- the size of
cont exceeds 16;
- any value in
cont exceeds cont.size().
|
- Complexity
- Linear in the size of the container
cont.
◆ make< HPCombi::PTransf16 >() [2/2]
| HPCombi::PTransf16 make< HPCombi::PTransf16 > |
( |
std::vector< uint8_t > const & | dom, |
|
|
std::vector< uint8_t > const & | ran, |
|
|
size_t | deg = 16 ) |
|
nodiscard |
Constructs a partial transformation of degree deg such that f[dom[i]] = ran[i] for all i and which is 0xFF on every other value in the range \([0, M)\).
- Parameters
-
| dom | the domain. |
| ran | the range. |
| deg | the degree (defaults to 16). |
- Exceptions
-
| LibsemigroupsException | if any of the following fail to hold:
- the value
deg is greater than 16
dom and ran do not have the same size
- any value in
dom or ran is greater than deg
- there are repeated entries in
dom.
|
- Complexity
- Linear in the size of
dom.
◆ make< HPCombi::Transf16 >()
template<typename Container>
| HPCombi::Transf16 make< HPCombi::Transf16 > |
( |
Container && | cont | ) |
|
|
nodiscard |
Constructs a HPCombi::Transf16 initialized using the container cont as follows: the image of the point i under the transformation is the value in position i of the container cont.
- Template Parameters
-
| Container | type of the container. |
- Parameters
-
- Returns
- A
HPCombi::Transf16 instance.
- Exceptions
-
| LibsemigroupsException | if any of the following hold:
- the size of
cont exceeds 16;
- any value in
cont exceeds cont.size().
|
- Complexity
- Linear in the size of the container
cont.