Пространства имён
Варианты
Действия

std::forward_list::unique

Материал из cppreference.com

 
 
 
std::forward_list
Член функций
Original:
Member functions
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
forward_list::forward_list
forward_list::~forward_list
forward_list::operator=
forward_list::assign
forward_list::get_allocator
Элемент доступа
Original:
Element access
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
forward_list::front
Итераторы
Original:
Iterators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
forward_list::before_begin
forward_list::cbefore_begin
forward_list::begin
forward_list::cbegin
forward_list::end
forward_list::cend
Потенциала
Original:
Capacity
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
forward_list::empty
forward_list::max_size
Модификаторы
Original:
Modifiers
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
forward_list::clear
forward_list::insert_after
forward_list::emplace_after
forward_list::erase_after
forward_list::push_front
forward_list::emplace_front
forward_list::pop_front
forward_list::resize
forward_list::swap
Операции
Original:
Operations
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
forward_list::merge
forward_list::splice_after
forward_list::remove
forward_list::remove_if
forward_list::reverse
forward_list::unique
forward_list::sort
 
void unique();
(1) (начиная с C++11)
template< class BinaryPredicate >
void unique( BinaryPredicate p );
(2) (начиная с C++11)
Удаляет все' последовательные повторяющиеся элементы из контейнера. Только первый элемент в каждой группе равных элементов не осталось. Первый вариант используется operator== для сравнения элементов, вторая версия использует данный бинарный предикат p.
Original:
Removes all consecutive duplicate elements from the container. Only the first element in each group of equal elements is left. The first version uses operator== to compare the elements, the second version uses the given binary predicate p.
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

Содержание

[править] Параметры

p - бинарный предикат, который возвращает true, если элементы следует считать равными.

Сигнатура функции-предиката должны быть эквивалентна следующей:

bool pred(const Type1 &a, const Type2 &b);

В сигнатуре не обязательно наличие const &, но функция не должна изменять переданные ей объекты.
Типы  Type1 и  Type2 должны быть таковы, что объект типа forward_list<T,Allocator>::const_iterator может быть разыменован и затем неявно преобразован в оба из них.

[править] Возвращаемое значение

(Нет)
Original:
(none)
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Сложность

Линейный в размере контейнера
Original:
Linear in the size of the container
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

[править] Пример

#include <iostream>
#include <forward_list>
 
int main()
{
  std::forward_list<int> x = {1, 2, 2, 3, 3, 2, 1, 1, 2};
 
  std::cout << "contents before:";
  for (auto val : x)
    std::cout << ' ' << val;
  std::cout << '\n';
 
  x.unique();
  std::cout << "contents after unique():";
  for (auto val : x)
    std::cout << ' ' << val;
  std::cout << '\n';
 
  return 0;
}

Вывод:

contents before: 1 2 2 3 3 2 1 1 2
contents after unique(): 1 2 3 2 1 2

[править] См. также

removes consecutive duplicate elements in a range
(шаблон функции) [edit]