ไลบรารี 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 สองรายการ |