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
-