C ++ 라이브러리-<forward_list>

소개

forward_list는 널리 사용되는 시퀀스 컨테이너입니다. 컨테이너는 동일한 유형의 데이터를 보유하는 개체입니다. forward_list 컨테이너는 단일 연결 목록으로 구현되므로 데이터에 대한 단방향 순차 액세스를 제공합니다.

forward_list는 빠른 임의 액세스를 제공하지 않으며 한 방향으로 만 순차 액세스를 지원합니다. forward_list를 사용하면 시퀀스 내 어디에서나 일정한 시간에 삽입 및 삭제 작업이 가능합니다.

forward_list의 요소는 서로 다른 메모리 청크에 흩어져있을 수 있습니다. 컨테이너는 데이터에 대한 순차적 액세스를 허용하는 데 필요한 정보를 저장합니다. forward_lists는 런타임에 양쪽 끝에서 필요에 따라 축소하거나 확장 할 수 있습니다. 스토리지 요구 사항은 내부 할당 자에 의해 자동으로 충족됩니다.

크기가 0 인 forward_list도 유효합니다. 이 경우 forward_list.begin () 및 forward_list.end ()는 동일한 위치를 가리 킵니다. 그러나 front () 호출 동작은 정의되지 않았습니다.

정의

다음은 <forward_list> 헤더 파일의 std :: forward_list 정의입니다.

template < class T, class Alloc = allocator<T> > class forward_list;

매개 변수

  • T − 포함 된 요소의 유형.

    T는 사용자 정의 유형을 포함한 다른 데이터 유형으로 대체 될 수 있습니다.

  • Alloc − 할당 자 개체의 유형.

    기본적으로 가장 간단한 메모리 할당 모델을 정의하고 값에 독립적 인 할당 자 클래스 템플릿이 사용됩니다.

회원 유형

다음 멤버 유형은 멤버 함수에 의해 매개 변수 또는 리턴 유형으로 사용될 수 있습니다.

Sr. 아니. 회원 유형 정의
1 값 _ 유형 T (템플릿의 첫 번째 매개 변수)
2 할당 자 _ 유형 Alloc (템플릿의 두 번째 매개 변수)
참고 값 _ 유형 &
4 const_reference const 값 _ 유형 &
5 바늘 값 _ 유형 *
6 const_pointer const 값 _ 유형 *
7 반복자 value_type에 대한 랜덤 액세스 반복기
8 const_iterator const value_type에 대한 임의 액세스 반복기
9 크기 유형 size_t
10 차이 _ 유형 ptrdiff_t

<forward_list>의 함수

다음은 <forward_list> 헤더의 모든 메소드 목록입니다.

생성자

Sr. 아니. 방법 및 설명
1 forward_list :: forward_list 기본 생성자

요소가없는 빈 forward_list를 생성합니다.

2 forward_list :: forward_list 채우기 생성자

n 개의 요소 로 새로운 forward_list를 구성하고 forward_list의 각 요소에 val 을 할당합니다 .

forward_list :: forward_list 채우기 생성자

n 개의 요소 로 새로운 forward_list를 생성하고 forward_list의 각 요소에 0 값을 할당합니다.

4 forward_list :: forward_list 범위 생성자

처음 부터 마지막 까지의 범위에있는만큼 많은 요소로 forward_list를 구성 합니다.

5 forward_list :: forward_list 복사 생성자

기존 목록에있는 각 요소의 복사본으로 forward_list를 생성합니다.

6 forward_list :: forward_list 이동 생성자

이동 의미 체계를 사용하여 other 의 내용으로 forward_list를 구성합니다 .

7 forward_list :: forward_list 이니셜 라이저 목록 생성자

초기화 목록에서 forward_list를 생성합니다.

폐물 소각로

Sr. 아니. 방법 및 설명
1 forward_list :: ~ forward_list

메모리 할당을 해제하여 forward_list 객체를 파괴합니다.

회원 기능

Sr. 아니. 방법 및 설명
1 forward_list :: 범위 버전 할당

이전 값을 대체하여 forward_list에 새 값을 할당합니다.

2 forward_list :: 채우기 버전 할당

이전 값을 대체하여 forward_list에 새 값을 할당합니다.

forward_list :: 할당 이니셜 라이저 목록 버전

이전 값을 대체하여 forward_list에 새 값을 할당합니다.

4 forward_list :: before_begin

forward_list의 첫 번째 요소 앞의 위치를 ​​가리키는 임의 액세스 반복기를 리턴합니다.

5 forward_list :: begin

forward_list의 첫 번째 요소를 가리키는 임의 액세스 반복기를 반환합니다.

6 forward_list :: cbefore_begin

forward_list의 첫 번째 요소 앞의 위치를 ​​가리키는 상수 임의 액세스 반복기를 리턴합니다.

7 forward_list :: cbegin

forward_list의 시작을 가리키는 상수 임의 액세스 반복기를 반환합니다.

8 forward_list :: cend

forward_list의 끝을 가리키는 상수 임의 액세스 반복기를 반환합니다.

9 forward_list :: clear

forward_list에서 모든 요소를 ​​제거하여 forward_list를 파괴하고 forward_list의 크기를 0으로 설정합니다.

10 forward_list :: emplace_after

forward_list의 위치 뒤에 새 요소를 구성 및 삽입 하고 forward_list의 크기를 1 씩 늘립니다.

11 forward_list :: emplace_front

forward_list의 시작 부분에 새 요소를 삽입하고 forward_list의 크기를 1 씩 늘립니다.

12 forward_list :: empty

forward_list가 비어 있는지 여부를 테스트합니다.

13 forward_list :: end

forward_list의 마지막 요소를 가리키는 임의 액세스 반복기를 반환합니다.

14 forward_list :: erase_after 위치 버전

forward_list에서 위치 뒤의 단일 요소를 제거합니다 .

15 forward_list :: erase 범위 버전

forward_list에서 요소 범위를 제거합니다.

16 forward_list :: front

forward_list의 첫 번째 요소에 대한 참조를 반환합니다.

17 forward_list :: get_allocator

forward_list와 관련된 할당자를 반환합니다.

18 forward_list :: insert_after 단일 요소 버전

forward_list의 위치 뒤에 새 요소를 삽입하여 반복자를 확장합니다.

19 forward_list :: insert_after 이동 버전

forward_list의 위치 뒤에 새 요소를 삽입하여 반복자를 확장합니다.

20 forward_list :: insert_after 채우기 버전

forward_list의 위치 뒤에 새 요소를 삽입하여 반복자를 확장합니다.

21 forward_list :: insert_after 범위 버전

forward_list의 위치 뒤에 새 요소를 삽입하여 반복자를 확장합니다.

22 forward_list :: insert_after 이니셜 라이저 목록 버전

forward_list의 위치 뒤에 새 요소를 삽입하여 반복자를 확장합니다.

23 forward_list :: max_size

forward_list가 보유 할 수있는 최대 요소 수를 리턴합니다.

24 forward_list :: merge

정렬 된 두 개의 forward_list를 하나로 병합합니다.

25 forward_list :: merge 이동 버전

정렬 된 두 개의 forward_list를 하나로 병합합니다.

26 forward_list :: merge 비교 기능

정렬 된 두 개의 forward_list를 하나로 병합합니다.

27 forward_list :: merge 비교 기능 이동 버전

이동 의미 체계를 사용하여 정렬 된 두 개의 forward_list를 하나로 병합합니다.

28 forward_list :: operator = 버전 복사

이전 내용을 대체하여 forward_list에 새 내용을 할당합니다.

29 forward_list :: operator = 버전 이동

이전 내용을 교체하여 forward_list에 새 내용을 할당합니다.

30 forward_list :: operator = 이니셜 라이저 목록 버전

이전 내용을 교체하여 forward_list에 새 내용을 할당합니다.

31 forward_list :: pop_front

forward_list에서 첫 번째 요소를 제거합니다.

32 forward_list :: push_front 사본 버전

forward_list의 시작 부분에 새 요소를 삽입합니다.

33 forward_list :: push_front 이동 버전

forward_list의 시작 부분에 새 요소를 삽입합니다.

34 forward_list :: remove

값과 일치하는 forward_list에서 요소를 제거합니다.

35 forward_list :: remove_if

조건을 충족하는 forward_list에서 요소를 제거합니다.

36 forward_list :: resize

forward_list의 크기를 변경합니다.

37 forward_list :: 값 버전 크기 조정

forward_list의 크기를 변경합니다.

38 forward_list :: reverse

forward_list에있는 요소의 순서를 반대로합니다.

39 forward_list :: sort

forward_list의 요소를 정렬합니다.

40 forward_list :: sort 비교 기능

forward_list의 요소를 정렬합니다.

41 forward_list :: splice_after

forward_list에서 * this로 모든 요소를 ​​전송합니다.

42 forward_list :: splice_after 이동 버전

move semantics를 사용하여 forward_list x 에서 * this 로 모든 요소를 ​​전송합니다 .

43 forward_list :: splice_after 단일 요소

iterator i 가 가리키는 요소 를 forward_list x 에서 * this로 전송 합니다.

44 forward_list :: splice_after 단일 요소 이동 버전

move semantics를 사용하여 iterator i 가 가리키는 요소 를 forward_list x 에서 * this 로 전송합니다 .

45 forward_list :: splice_after 범위 버전

x 에서 * this 까지 처음 부터 마지막 까지 의 범위에있는 요소를 전송합니다 .

46 forward_list :: splice 범위 및 이동 버전

이동 의미 체계를 사용하여 x 에서 * this 까지 처음 부터 마지막 까지 의 범위에있는 요소를 전송합니다 .

47 forward_list :: swap

forward_list의 내용을 다른 forward_list x의 내용과 교환합니다 .

48 forward_list :: unique

forward_list에서 모든 연속 중복 요소를 제거합니다.

49 forward_list :: unique

forward_list에서 모든 연속 중복 요소를 제거합니다.

비 멤버 오버로드 함수

Sr. 아니. 방법 및 설명
1 연산자 ==

두 개의 forward_list가 같은지 여부를 테스트합니다.

2 연산자! =

두 개의 forward_list가 같은지 여부를 테스트합니다.

연산자 <

첫 번째 forward_list가 다른 것보다 작은 지 여부를 테스트합니다.

4 연산자 <=

첫 번째 forward_list가 other보다 작거나 같은지 여부를 테스트합니다.

5 연산자>

첫 번째 forward_list가 다른 것보다 큰지 여부를 테스트합니다.

6 연산자> =

첫 번째 forward_list가 다른 것보다 크거나 같은지 여부를 테스트합니다.

7 교환

두 forward_list의 내용을 교환합니다.