ไลบรารี C ++ - <forward_list>

บทนำ

forward_list เป็นคอนเทนเนอร์ลำดับที่นิยมใช้ คอนเทนเนอร์เป็นวัตถุที่เก็บข้อมูลประเภทเดียวกัน forward_list container ถูกนำไปใช้เป็นรายการที่เชื่อมโยงแบบเดี่ยวดังนั้นจึงให้การเข้าถึงข้อมูลตามลำดับแบบทิศทางเดียว

forward_list ไม่ได้ให้การเข้าถึงแบบสุ่มที่รวดเร็ว แต่รองรับการเข้าถึงตามลำดับในทิศทางเดียวเท่านั้น forward_list อนุญาตให้ดำเนินการแทรกและลบที่ใดก็ได้ภายในลำดับในเวลาคงที่

องค์ประกอบของ forward_list สามารถกระจัดกระจายไปตามหน่วยความจำต่างๆ คอนเทนเนอร์เก็บข้อมูลที่จำเป็นเพื่อให้สามารถเข้าถึงข้อมูลได้ตามลำดับ forward_lists สามารถย่อหรือขยายได้ตามต้องการจากปลายทั้งสองด้านในขณะทำงาน ข้อกำหนดในการจัดเก็บจะถูกเติมเต็มโดยอัตโนมัติโดยตัวจัดสรรภายใน

Forward_lists ขนาดศูนย์ก็ใช้ได้เช่นกัน ในกรณีนั้น forward_list.begin () และ forward_list.end () ชี้ไปที่ตำแหน่งเดียวกัน แต่พฤติกรรมของการเรียก front () ไม่ได้กำหนดไว้

คำจำกัดความ

ด้านล่างนี้คือคำจำกัดความของ std :: forward_list จากไฟล์ส่วนหัว <forward_list>

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

พารามิเตอร์

  • T - ประเภทขององค์ประกอบที่มีอยู่

    T อาจถูกแทนที่ด้วยประเภทข้อมูลอื่น ๆ รวมถึงประเภทที่ผู้ใช้กำหนด

  • Alloc - ประเภทของวัตถุผู้จัดสรร

    โดยค่าเริ่มต้นเทมเพลตคลาสตัวจัดสรรจะถูกใช้ซึ่งกำหนดรูปแบบการจัดสรรหน่วยความจำที่ง่ายที่สุดและไม่ขึ้นกับค่า

ประเภทสมาชิก

ประเภทสมาชิกต่อไปนี้สามารถใช้เป็นพารามิเตอร์หรือประเภทการส่งคืนโดยฟังก์ชันสมาชิก

ซีเนียร์ ประเภทสมาชิก คำจำกัดความ
1 value_type T (พารามิเตอร์แรกของเทมเพลต)
2 จัดสรร _type Alloc (พารามิเตอร์ที่สองของเทมเพลต)
3 เอกสารอ้างอิง value_type &
4 const_reference const value_type &
5 ตัวชี้ value_type *
6 const_pointer const value_type *
7 iterator ตัววนซ้ำการเข้าถึงโดยสุ่มไปยัง value_type
8 const_iterator ตัววนซ้ำการเข้าถึงโดยสุ่มไปยัง const value_type
9 size_type size_t
10 different_type ptrdiff_t

ฟังก์ชั่นจาก <forward_list>

ด้านล่างนี้คือรายการวิธีการทั้งหมดจากส่วนหัว <forward_list>

ตัวสร้าง

ซีเนียร์ วิธีการและคำอธิบาย
1 forward_list :: ตัว สร้างเริ่มต้นforward_list

สร้าง forward_list ว่างเปล่าโดยมีองค์ประกอบเป็นศูนย์

2 forward_list :: ตัว สร้างการเติมforward_list

โครงสร้าง forward_list ใหม่ที่มีnองค์ประกอบและกำหนดValกับองค์ประกอบของแต่ละ forward_list

3 forward_list :: ตัว สร้างการเติมforward_list

สร้าง forward_list ใหม่ที่มีองค์ประกอบnและกำหนดค่าเป็นศูนย์ให้กับแต่ละองค์ประกอบของ forward_list

4 forward_list :: ตัว สร้างช่วงของforward_list

โครงสร้าง forward_list ที่มีองค์ประกอบเป็นจำนวนมากในช่วงแรกของการที่ผ่านมา

5 forward_list :: ตัว สร้างสำเนาforward_list

สร้าง forward_list พร้อมสำเนาของแต่ละองค์ประกอบที่มีอยู่ในรายการที่มีอยู่

6 forward_list :: forward_list ย้ายตัวสร้าง

สร้าง forward_list ที่มีเนื้อหาของสิ่งอื่น ๆโดยใช้ความหมายการย้าย

7 forward_list :: ตัว สร้างรายการตัวเริ่มต้นforward_list

สร้าง forward_list จากรายการเริ่มต้น

Destructor

ซีเนียร์ วิธีการและคำอธิบาย
1 forward_list :: ~ forward_list

ทำลายวัตถุ forward_list โดยการยกเลิกการจัดสรรหน่วยความจำ

ฟังก์ชั่นสมาชิก

ซีเนียร์ วิธีการและคำอธิบาย
1 forward_list :: กำหนด เวอร์ชันของช่วง

กำหนดค่าใหม่ให้กับ forward_list โดยแทนที่ค่าเก่า

2 forward_list :: กำหนด เวอร์ชันเติม

กำหนดค่าใหม่ให้กับ forward_list โดยแทนที่ค่าเก่า

3 forward_list :: กำหนด เวอร์ชันรายการตัวเริ่มต้น

กำหนดค่าใหม่ให้กับ forward_list โดยแทนที่ค่าเก่า

4 forward_list :: before_begin

ส่งคืนตัววนซ้ำการเข้าถึงโดยสุ่มซึ่งชี้ไปยังตำแหน่งก่อนองค์ประกอบแรกของรายการ forward_list

5 forward_list :: เริ่มต้น

ส่งคืนตัววนซ้ำการเข้าถึงโดยสุ่มซึ่งชี้ไปที่องค์ประกอบแรกของรายการ forward_list

6 forward_list :: cbefore_begin

ส่งคืนตัววนซ้ำการเข้าถึงแบบสุ่มคงที่ซึ่งชี้ไปยังตำแหน่งก่อนองค์ประกอบแรกของ forward_list

7 forward_list :: cbegin

ส่งคืนตัววนซ้ำการเข้าถึงแบบสุ่มคงที่ซึ่งชี้ไปที่จุดเริ่มต้นของ forward_list

8 forward_list :: cend

ส่งคืนตัววนซ้ำการเข้าถึงแบบสุ่มคงที่ซึ่งชี้ไปที่จุดสิ้นสุดของ forward_list

9 forward_list :: ชัดเจน

ทำลาย forward_list โดยลบองค์ประกอบทั้งหมดออกจาก forward_list และตั้งค่าขนาดของ forward_list เป็นศูนย์

10 forward_list :: emplace_after

สร้างและแทรกองค์ประกอบใหม่หลังตำแหน่งใน forward_list และเพิ่มขนาดของ forward_list ทีละรายการ

11 forward_list :: emplace_front

แทรกองค์ประกอบใหม่ที่จุดเริ่มต้นของ forward_list และเพิ่มขนาดของ forward_list ทีละรายการ

12 forward_list :: ว่างเปล่า

ทดสอบว่า forward_list ว่างเปล่าหรือไม่

13 forward_list :: end

ส่งกลับตัววนซ้ำการเข้าถึงโดยสุ่มซึ่งชี้ไปยังองค์ประกอบสุดท้ายของ forward_list

14 forward_list :: erase_after รุ่นตำแหน่ง

ลบองค์ประกอบเดียวหลังตำแหน่งออกจาก forward_list

15 forward_list :: ลบเวอร์ชันช่วง

ลบช่วงขององค์ประกอบออกจาก forward_list

16 forward_list :: ด้านหน้า

ส่งกลับการอ้างอิงถึงองค์ประกอบแรกของ 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 เวอร์ชันรายการ initializer

ขยายตัววนซ้ำโดยการแทรกองค์ประกอบใหม่หลังตำแหน่งใน forward_list

23 forward_list :: max_size

ส่งคืนจำนวนสูงสุดขององค์ประกอบที่สามารถถือได้โดย forward_list

24 forward_list :: ผสาน

รวมรายการ forward_list ที่จัดเรียงไว้สองรายการเข้าด้วยกัน

25 forward_list :: ผสาน ย้ายเวอร์ชัน

รวมรายการ forward_list ที่จัดเรียงไว้สองรายการเข้าด้วยกัน

26 forward_list :: รวม ฟังก์ชันเปรียบเทียบ

รวมรายการ forward_list ที่จัดเรียงไว้สองรายการเข้าด้วยกัน

27 forward_list :: ผสาน เปรียบเทียบฟังก์ชันการย้ายเวอร์ชัน

ผสานฟอร์เวิร์ด _ ลิสต์ที่เรียงลำดับสองรายการเข้าด้วยกันโดยใช้ย้ายความหมาย

28 forward_list :: operator = copy version

กำหนดเนื้อหาใหม่ให้กับ forward_list โดยแทนที่รายการเก่า

29 forward_list :: operator = ย้ายเวอร์ชัน

กำหนดเนื้อหาใหม่ให้กับ forward_list โดยแทนที่รายการเก่า

30 forward_list :: operator = เวอร์ชันรายการ initializer

กำหนดเนื้อหาใหม่ให้กับ forward_list โดยแทนที่รายการเก่า

31 forward_list :: pop_front

ลบองค์ประกอบแรกจาก forward_list

32 forward_list :: เวอร์ชันสำเนาpush_front

แทรกองค์ประกอบใหม่ที่จุดเริ่มต้นของ forward_list

33 forward_list :: รุ่นpush_front move

แทรกองค์ประกอบใหม่ที่จุดเริ่มต้นของ forward_list

34 forward_list :: ลบ

ลบองค์ประกอบจาก forward_list ที่ตรงกับค่า

35 forward_list :: remove_if

ลบองค์ประกอบจาก forward_list ที่เป็นไปตามเงื่อนไข

36 forward_list :: ปรับขนาด

เปลี่ยนขนาดของ forward_list

37 forward_list :: ปรับขนาด เวอร์ชันค่า

เปลี่ยนขนาดของ forward_list

38 forward_list :: ย้อนกลับ

กลับลำดับขององค์ประกอบที่มีอยู่ใน forward_list

39 forward_list :: sort

จัดเรียงองค์ประกอบของ forward_list

40 forward_list :: เรียงลำดับ เปรียบเทียบฟังก์ชัน

จัดเรียงองค์ประกอบของ forward_list

41 forward_list :: splice_after

ถ่ายโอนองค์ประกอบทั้งหมดจาก forward_list เป็น * this

42 forward_list :: splice_after รุ่นย้าย

ถ่ายโอนองค์ประกอบทั้งหมดจาก forward_list xถึง*โดยใช้ย้ายความหมาย

43 forward_list :: splice_after องค์ประกอบเดียว

บริการรถรับส่งเป็นองค์ประกอบที่ชี้ไปตาม iterator ฉันจาก forward_list xเข้า* นี้

44 forward_list :: splice_after เวอร์ชันการย้ายองค์ประกอบเดียว

ถ่ายโอนองค์ประกอบที่ชี้ไปโดย iterator iจาก forward_list xเป็น*โดยใช้ย้ายความหมาย

45 forward_list :: splice_after เวอร์ชันช่วง

โอนองค์ประกอบในช่วงแรกจะมีอายุการใช้งานจากxไป* นี้

46 forward_list :: ช่วงต่อและย้ายเวอร์ชัน

ถ่ายโอนองค์ประกอบในช่วงแรกถึงสุดท้ายจากxถึง*โดยใช้ย้ายความหมาย

47 forward_list :: swap

เปลี่ยนเนื้อหาของ forward_list ด้วยเนื้อหาของ forward_list xอื่น

48 forward_list :: ไม่ซ้ำกัน

ลบองค์ประกอบที่ซ้ำกันทั้งหมดจากรายการ forward_list

49 forward_list :: ไม่ซ้ำกัน

ลบองค์ประกอบที่ซ้ำกันทั้งหมดจากรายการ forward_list

ฟังก์ชันที่ไม่มีสมาชิกมากเกินไป

ซีเนียร์ วิธีการและคำอธิบาย
1 ตัวดำเนินการ ==

ทดสอบว่า forward_lists สองรายการเท่ากันหรือไม่

2 ตัวดำเนินการ! =

ทดสอบว่า forward_lists สองรายการเท่ากันหรือไม่

3 ตัวดำเนินการ <

ทดสอบว่า forward_list แรกน้อยกว่ารายการอื่นหรือไม่

4 ตัวดำเนินการ <=

ทดสอบว่า forward_list แรกน้อยกว่าหรือเท่ากับอื่น ๆ หรือไม่

5 ตัวดำเนินการ>

ทดสอบว่า forward_list แรกมากกว่ารายการอื่นหรือไม่

6 ตัวดำเนินการ> =

ทดสอบว่า forward_list แรกมากกว่าหรือเท่ากับอื่น ๆ หรือไม่

7 แลกเปลี่ยน

แลกเปลี่ยนเนื้อหาของ forward_list สองรายการ