Архитектурная акустика/Реализация/IteratorAdapterConditional::IteratorAdapterConditional: различия между версиями
Перейти к навигации
Перейти к поиску
Параметры шаблона
Параметры
(Новая страница: «{{function_begin |IteratorAdapterConditional() {{=}} default; //1 template <class predicate_params_as_tuple_t, class iterator_predicate_params_as_tuple_t> Iterat…») |
|||
Строка 1: | Строка 1: | ||
{{function_begin |IteratorAdapterConditional() {{=}} default; //1 | {{function_begin |IteratorAdapterConditional() {{=}} default; //1 | ||
IteratorAdapterConditional(const IteratorAdapterConditional&) {{=}} default; //2 | |||
IteratorAdapterConditional(IteratorAdapterConditional&&) {{=}} default; //3 | |||
template <class predicate_params_as_tuple_t, class iterator_predicate_params_as_tuple_t> | template <class predicate_params_as_tuple_t, class iterator_predicate_params_as_tuple_t> | ||
Строка 5: | Строка 7: | ||
iterator it, | iterator it, | ||
predicate_params_as_tuple_t&& tuple_of_predicate_params, | predicate_params_as_tuple_t&& tuple_of_predicate_params, | ||
iterator_predicate_params_as_tuple_t&& tuple_of_iterator_predicate_params); // | iterator_predicate_params_as_tuple_t&& tuple_of_iterator_predicate_params); //4 | ||
template <class predicate_params_as_tuple_t, class iterator_predicate_params_as_tuple_t> | template <class predicate_params_as_tuple_t, class iterator_predicate_params_as_tuple_t> | ||
IteratorAdapterConditional( | IteratorAdapterConditional( | ||
predicate_params_as_tuple_t&& tuple_of_predicate_params, | predicate_params_as_tuple_t&& tuple_of_predicate_params, | ||
iterator_predicate_params_as_tuple_t&& tuple_of_iterator_predicate_params); // | iterator_predicate_params_as_tuple_t&& tuple_of_iterator_predicate_params); //5 | ||
template <class iterator_predicate_params_t> | template <class iterator_predicate_params_t> | ||
IteratorAdapterConditional(iterator it, iterator_predicate_params_t&& iterator_predicate_params); // | IteratorAdapterConditional(iterator it, iterator_predicate_params_t&& iterator_predicate_params); //6 | ||
template <class iterator_predicate_params_t> | template <class iterator_predicate_params_t> | ||
IteratorAdapterConditional(iterator_predicate_params_t&& iterator_predicate_params); // | IteratorAdapterConditional(iterator_predicate_params_t&& iterator_predicate_params); //7 | ||
IteratorAdapterConditional(iterator it); // | IteratorAdapterConditional(iterator it); //8 | ||
template <class _It2, class _Pred2, class _IterPred2> | template <class _It2, class _Pred2, class _IterPred2> | ||
IteratorAdapterConditional(const IteratorAdapterConditional<_It2, _Pred2, _IterPred2>& refRight); // | IteratorAdapterConditional(const IteratorAdapterConditional<_It2, _Pred2, _IterPred2>& refRight); //9 | ||
|{{Архитектурная акустика/Реализация/IteratorAdapterConditional::IteratorAdapterConditional brief}} | |{{Архитектурная акустика/Реализация/IteratorAdapterConditional::IteratorAdapterConditional brief}} | ||
# Конструктор по умолчанию. | # Конструктор по умолчанию. | ||
# Конструктор копирования. | |||
# Конструктор перемещения. | |||
# Конструктор, задающий состояние создаваемого итератора {{arch_ac_ref|IteratorAdapterConditional}} - начальную позицию {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::iterator}}, предикат необходимости перехода и предикат возможности перехода. Предикаты задаются в конструкторе специализациями [http://en.cppreference.com/w/cpp/utility/tuple std::tuple]. Например, параметры могут быть переданы с помощью [http://en.cppreference.com/w/cpp/utility/tuple/forward_as_tuple std::forward_as_tuple]. | # Конструктор, задающий состояние создаваемого итератора {{arch_ac_ref|IteratorAdapterConditional}} - начальную позицию {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::iterator}}, предикат необходимости перехода и предикат возможности перехода. Предикаты задаются в конструкторе специализациями [http://en.cppreference.com/w/cpp/utility/tuple std::tuple]. Например, параметры могут быть переданы с помощью [http://en.cppreference.com/w/cpp/utility/tuple/forward_as_tuple std::forward_as_tuple]. | ||
# Конструктор, который задает предикаты (также, с помощью [http://en.cppreference.com/w/cpp/utility/tuple std::tuple]), но позиция итератора не задается. Итератор, созданный с помощью данного конструктора, не может быть использован до присваивания ему итератора с действительной позицией. Используется в случаях, когда предикаты не удовлетворяют требованиям {{cpp_concept|DefaultConstructible}}. | # Конструктор, который задает предикаты (также, с помощью [http://en.cppreference.com/w/cpp/utility/tuple std::tuple]), но позиция итератора не задается. Итератор, созданный с помощью данного конструктора, не может быть использован до присваивания ему итератора с действительной позицией. Используется в случаях, когда предикаты не удовлетворяют требованиям {{cpp_concept|DefaultConstructible}}. | ||
Строка 34: | Строка 38: | ||
{{function template paramlist add|iterator_predicate_params_as_tuple_t|Тип экземпляра специализации [http://en.cppreference.com/w/cpp/utility/tuple std::tuple], переносящего аргументы для создания предиката возможности перехода.}} | {{function template paramlist add|iterator_predicate_params_as_tuple_t|Тип экземпляра специализации [http://en.cppreference.com/w/cpp/utility/tuple std::tuple], переносящего аргументы для создания предиката возможности перехода.}} | ||
{{function template paramlist add|iterator_predicate_params_t|Тип аргумента, на основе которого создается предикат возможности перехода.}} | {{function template paramlist add|iterator_predicate_params_t|Тип аргумента, на основе которого создается предикат возможности перехода.}} | ||
{{function template paramlist add|_It2|Тип итератора, который неявно преобразуется к типу {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::iterator}} перегрузкой | {{function template paramlist add|_It2|Тип итератора, который неявно преобразуется к типу {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::iterator}} перегрузкой 9.}} | ||
{{function template paramlist add|_Pred2|Тип предиката, который неявно преобразуется к типу {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::predicate}} перегрузкой | {{function template paramlist add|_Pred2|Тип предиката, который неявно преобразуется к типу {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::predicate}} перегрузкой 9.}} | ||
{{function template paramlist add|_IterPred2|Тип предиката, который неявно преобразуется к типу {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::iterator_predicate}} перегрузкой | {{function template paramlist add|_IterPred2|Тип предиката, который неявно преобразуется к типу {{arch_ac_ref|IteratorAdapterConditional|IteratorAdapterConditional::iterator_predicate}} перегрузкой 9.}} | ||
{{function template paramlist end}} | {{function template paramlist end}} | ||
{{function_paramlist begin}} | {{function_paramlist begin}} | ||
Строка 46: | Строка 50: | ||
{{function_paramlist end}} | {{function_paramlist end}} | ||
{{function_end}} | {{function_end}} | ||
Текущая версия на 17:13, 27 января 2018
IteratorAdapterConditional() = default; //1
IteratorAdapterConditional(const IteratorAdapterConditional&) = default; //2
IteratorAdapterConditional(IteratorAdapterConditional&&) = default; //3
template <class predicate_params_as_tuple_t, class iterator_predicate_params_as_tuple_t>
IteratorAdapterConditional(
iterator it,
predicate_params_as_tuple_t&& tuple_of_predicate_params,
iterator_predicate_params_as_tuple_t&& tuple_of_iterator_predicate_params); //4
template <class predicate_params_as_tuple_t, class iterator_predicate_params_as_tuple_t>
IteratorAdapterConditional(
predicate_params_as_tuple_t&& tuple_of_predicate_params,
iterator_predicate_params_as_tuple_t&& tuple_of_iterator_predicate_params); //5
template <class iterator_predicate_params_t>
IteratorAdapterConditional(iterator it, iterator_predicate_params_t&& iterator_predicate_params); //6
template <class iterator_predicate_params_t>
IteratorAdapterConditional(iterator_predicate_params_t&& iterator_predicate_params); //7
IteratorAdapterConditional(iterator it); //8
template <class _It2, class _Pred2, class _IterPred2>
IteratorAdapterConditional(const IteratorAdapterConditional<_It2, _Pred2, _IterPred2>& refRight); //9
Конструкторы класса IteratorAdapterConditional.
- Конструктор по умолчанию.
- Конструктор копирования.
- Конструктор перемещения.
- Конструктор, задающий состояние создаваемого итератора IteratorAdapterConditional - начальную позицию IteratorAdapterConditional::iterator, предикат необходимости перехода и предикат возможности перехода. Предикаты задаются в конструкторе специализациями std::tuple. Например, параметры могут быть переданы с помощью std::forward_as_tuple.
- Конструктор, который задает предикаты (также, с помощью std::tuple), но позиция итератора не задается. Итератор, созданный с помощью данного конструктора, не может быть использован до присваивания ему итератора с действительной позицией. Используется в случаях, когда предикаты не удовлетворяют требованиям DefaultConstructible.
- Конструктор, создающий итератор в заданной позиции и с заданным предикатом возможности перехода к следующему элементу, и использующий инициализированный по умолчанию предикат необходимости перехода. Перегрузка определена только, если предикат необходимости перехода удовлетворяет DefaultConstructible.
- Аналогично, но начальная позиция итератора не задается.
- Конструктор, создающий итератор IteratorAdapterConditional с заданной позицией и со сконструированными по умолчанию предикатами. Перегрузка определена только, если оба предиката удовлетворяют DefaultConstructible.
- Коструктор преобразования заданной специализации IteratorAdapterConditional в специализацию
*this
. Конструктор определен только, если специализирующие адаптер типы аргумента (итератор и оба предиката) неявно преобразуемы в соответствующие типы конструируемого адаптера.
predicate_params_as_tuple_t | Тип экземпляра специализации std::tuple, переносящего аргументы для создания предиката необходимости перехода. |
iterator_predicate_params_as_tuple_t | Тип экземпляра специализации std::tuple, переносящего аргументы для создания предиката возможности перехода. |
iterator_predicate_params_t | Тип аргумента, на основе которого создается предикат возможности перехода. |
_It2 | Тип итератора, который неявно преобразуется к типу IteratorAdapterConditional::iterator перегрузкой 9. |
_Pred2 | Тип предиката, который неявно преобразуется к типу IteratorAdapterConditional::predicate перегрузкой 9. |
_IterPred2 | Тип предиката, который неявно преобразуется к типу IteratorAdapterConditional::iterator_predicate перегрузкой 9. |
it | Адаптируемый итератор. Задает начальную позицию адаптера. | |
tuple_of_predicate_params | Экземпляр std::tuple, который переносит аргументы для создания предиката необходимости перехода. Может быть использована функция std::forward_as_tuple. | |
tuple_of_iterator_predicate_params | Экземпляр std::tuple, который переносит аргументы для создания предиката возможности перехода. Может быть использована функция std::forward_as_tuple. | |
tuple_of_iterator_predicate_params | Параметр, используемый при создании предиката возможности перехода. | |
refRight | Экземпляр другой специализации шаблона IteratorAdapterConditional, состояние которого преобразуется и копируется в создаваемый итератор. |