This page contains documentation related to safely constructing a PPerm instance.
make function. Functions | |
| template<typename Return, typename Container> | |
| enable_if_is_same< Return, HPCombi::PPerm16 > | make (Container &&cont) |
| Construct a HPCombi::PPerm16 from container and check. | |
| template<typename Return, typename OtherContainer> | |
| std::enable_if_t< IsPPerm< Return >, Return > | make (OtherContainer &&cont) |
| Construct a PPerm from universal reference container and check. | |
| template<typename Return, typename Int> | |
| enable_if_is_same< Return, HPCombi::PPerm16 > | make (std::initializer_list< Int > dom, std::initializer_list< Int > ran, size_t M) |
| Construct a HPCombi::PPerm16 from domain, range, and degree, and check. | |
| template<typename Return> | |
| std::enable_if_t< IsPPerm< Return >, Return > | make (std::initializer_list< typename Return::point_type > cont) |
| Construct a PPerm from initializer list and check. | |
| template<typename Return> | |
| std::enable_if_t< IsPPerm< Return >, Return > | make (std::initializer_list< typename Return::point_type > dom, std::initializer_list< typename Return::point_type > ran, size_t M) |
| Construct a PPerm from domain, range, and degree, and check. | |
| template<typename Return> | |
| std::enable_if_t< IsPPerm< Return >, Return > | make (std::vector< typename Return::point_type > const &dom, std::vector< typename Return::point_type > const &ran, size_t M) |
| Construct a PPerm from domain, range, and degree, and check. | |
| template<typename Return> | |
| enable_if_is_same< Return, HPCombi::PPerm16 > | make (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. | |
|
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.
| Return | the return type. Must by HPCombi::PPerm16. |
| Container | type of the container. |
| cont | the container. |
HPCombi::PPerm16 instance.| LibsemigroupsException | if any of the following hold:
|
cont.
|
nodiscard |
Constructs a PPerm initialized using the container cont as follows: the image of the point i under the partial permutation is the value in position i of the container cont.
| Return | the return type. Must satisfy IsPPerm<Return>. |
| OtherContainer | universal reference for the type of the container. |
| cont | the container. |
N.| LibsemigroupsException | if any of the following hold:
|
cont.
|
nodiscard |
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)\).
| Return | the return type, must be HPCombi::PPerm16. |
| dom | the domain. |
| ran | the range. |
| M | the degree. |
| LibsemigroupsException | if any of the following fail to hold:
|
dom.
|
nodiscard |
Constructs a PPerm initialized using the container cont as follows: the image of the point i under the partial permutation is the value in position i of the container cont.
| Return | the return type. Must satisfy IsPPerm<Return>. |
| cont | the container. |
N.| LibsemigroupsException | if any of the following hold:
|
cont.
|
nodiscard |
Constructs a partial perm of degree M such that f[dom[i]] = ran[i] for all i and which is UNDEFINED on every other value in the range \([0, M)\).
| Return | the return type. Must satisfy IsPPerm<Return>. |
| dom | the domain. |
| ran | the range. |
| M | the degree. |
| LibsemigroupsException | if any of the following fail to hold:
|
dom.
|
nodiscard |
Constructs a partial perm of degree M such that f[dom[i]] = ran[i] for all i and which is UNDEFINED on every other value in the range \([0, M)\).
| Return | the return type. Must satisfy IsPPerm<Return>. |
| dom | the domain. |
| ran | the range. |
| M | the degree. |
| LibsemigroupsException | if any of the following fail to hold:
|
dom.
|
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, M)\).
| Return | the return type, must be HPCombi::PPerm16. |
| dom | the domain. |
| ran | the range. |
| deg | the degree. |
| LibsemigroupsException | if any of the following fail to hold:
|
dom.