This page contains documentation related to safely constructing a FroidurePin instance.
- See also
- The `make` function for an overview of possible uses of the
make
function.
|
template<template< typename... > typename Thing, typename Container, typename Element = typename Container::value_type> |
auto | make (Container const &gens) -> std::enable_if_t< std::is_same_v< Thing< Element >, FroidurePin< Element > >, FroidurePin< Element > > |
| Construct a FroidurePin iinstance from container of generators.
|
|
template<template< typename... > typename Thing, typename Iterator1, typename Iterator2, typename Element = std::decay_t<decltype(*std::declval<Iterator1>())>> |
auto | make (Iterator1 first, Iterator2 last) -> std::enable_if_t< std::is_same_v< Thing< Element >, FroidurePin< Element > >, FroidurePin< Element > > |
| Construct a FroidurePin instance from range of elements given by iterators.
|
|
template<template< typename... > typename Thing, typename Element> |
auto | make (std::initializer_list< Element > gens) -> std::enable_if_t< std::is_same_v< Thing< Element >, FroidurePin< Element > >, FroidurePin< Element > > |
| Construct a FroidurePin instance from std::initializer_list of generators.
|
|
◆ make() [1/3]
template<template< typename... > typename Thing, typename Container, typename Element = typename Container::value_type>
auto make |
( |
Container const & | gens | ) |
-> std::enable_if_t<std::is_same_v<Thing<Element>, FroidurePin<Element>>,
FroidurePin<Element>> |
|
nodiscard |
This function can be used to construct a FroidurePin instance from a container of generators after first verifying that the proposed generators all have equal degree.
- Parameters
-
- Exceptions
-
◆ make() [2/3]
template<template< typename... > typename Thing, typename Iterator1, typename Iterator2, typename Element = std::decay_t<decltype(*std::declval<Iterator1>())>>
auto make |
( |
Iterator1 | first, |
|
|
Iterator2 | last ) -> std::enable_if_t<std::is_same_v<Thing<Element>, FroidurePin<Element>>,
FroidurePin<Element>> |
|
nodiscard |
This function can be used to construct a FroidurePin instance from a the range of generators given by the iterators first
and last
, after first verifying that the proposed generators all have equal degree. See add_generator for more details.
- Template Parameters
-
Iterator1 | the type of the first parameter. |
Iterator2 | the type of the second parameter. |
- Parameters
-
first | iterator pointing at the first generator to add. |
last | iterator pointing one beyond the last generator to add. |
- Returns
- A newly constructed FroidurePin instance with generators given by
first
and last
.
- Exceptions
-
◆ make() [3/3]
template<template< typename... > typename Thing, typename Element>
This function can be used to construct a FroidurePin instance from a std::initializer_list of generators after first verifying that the proposed generators all have equal degree. See add_generator for more details.
- Template Parameters
-
Element | the type of the elements in the FroidurePin instance. |
- Parameters
-
- Returns
- A newly constructed FroidurePin instance with generators equal to
gens
.
- Exceptions
-