পৃষ্ঠাসমূহ

Search Your Article

CS

 

Welcome to GoogleDG – your one-stop destination for free learning resources, guides, and digital tools.

At GoogleDG, we believe that knowledge should be accessible to everyone. Our mission is to provide readers with valuable ebooks, tutorials, and tech-related content that makes learning easier, faster, and more enjoyable.

What We Offer:

  • 📘 Free & Helpful Ebooks – covering education, technology, self-development, and more.

  • 💻 Step-by-Step Tutorials – practical guides on digital tools, apps, and software.

  • 🌐 Tech Updates & Tips – simplified information to keep you informed in the fast-changing digital world.

  • 🎯 Learning Support – resources designed to support students, professionals, and lifelong learners.

    Latest world News 

     

Our Vision

To create a digital knowledge hub where anyone, from beginners to advanced learners, can find trustworthy resources and grow their skills.

Why Choose Us?

✔ Simple explanations of complex topics
✔ 100% free access to resources
✔ Regularly updated content
✔ A community that values knowledge sharing

We are continuously working to expand our content library and provide readers with the most useful and relevant digital learning materials.

📩 If you’d like to connect, share feedback, or suggest topics, feel free to reach us through the Contact page.

Pageviews

Saturday, January 28, 2017

C++ Library -

Introduction

forward_list is a popularly used sequence container. Container is an object that holds data of same type. forward_list container is implemented as singly linked-list, hence it provides unidirectional sequential access to it's data.

forward_list doesn't provide fast random access, it only supports sequential access in only one directions. forward_list allows insertion and deletion operation anywhere within a sequence in constant time.
Elements of forward_list can be scattered in different chunks of memory. Container stores necessary information to allow sequential access to it's data. forward_lists can shrink or expand as needed from both ends at run time. The storage requirement is fulfilled automatically by internal allocator.
Zero sized forward_lists are also valid. In that case forward_list.begin() and forward_list.end() points to same location. But behavior of calling front() is undefined.

Definition

Below is definition of std::forward_list from <forward_list> header file
template < class T, class Alloc = allocator<T> > class forward_list;

Parameters

  • T − Type of the element contained.
    T may be substituted by any other data type including user-defined type.
  • Alloc − Type of allocator object.
    By default, the allocator class template is used, which defines the simplest memory allocation model and is value-independent.

Member types

Following member types can be used as parameters or return type by member functions.
S.N. Member types Definition
1 value_type T (First parameter of the template)
2 allocator_type Alloc (Second parameter of the template)
3 reference value_type&
4 const_reference const value_type&
5 pointer value_type*
6 const_pointer const value_type*
7 iterator a random access iterator to value_type
8 const_iterator a random access iterator to const value_type
9 size_type size_t
10 difference_type ptrdiff_t

Functions from <forward_list>

Below is list of all methods from <forward_list> header.

Constructors

S.N. Method & Description
1 forward_list::forward_list default constructor Constructs an empty forward_list with zero elements.
2 forward_list::forward_list fill constructor Constructs a new forward_list with n elements and assigns val to each element of forward_list.
3 forward_list::forward_list fill constructor Constructs a new forward_list with n elements and assign zero value to each element of forward_list.
4 forward_list::forward_list range constructor Constructs a forward_list with as many elements as in range of first to last.
5 forward_list::forward_list copy constructor Constructs a forward_list with copy of each elements present in existing list.
6 forward_list::forward_list move constructor Constructs a forward_list with the contents of other using move semantics.
7 forward_list::forward_list initializer list constructor Constructs a forward_list from initialize list.

Destructor

S.N. Method & Description
1 forward_list::~forward_list Destroys forward_list object by deallocating it's memory.

Member functions

S.N. Method & Description
1 forward_list::assign range version Assigns new value to forward_list by replacing old ones.
2 forward_list::assign fill version Assigns new values to forward_list by replacing old ones.
3 forward_list::assign initializer list version Assigns new values to forward_list by replacing old ones.
4 forward_list::before_begin Returns a random access iterator which points to the position before the first element of the forward_list.
5 forward_list::begin Returns a random access iterator which points to the first element of the forward_list.
6 forward_list::cbefore_begin Returns a constant random access iterator which points to the position before the first element of the forward_list.
7 forward_list::cbegin Returns a constant random access iterator which points to the beginning of the forward_list.
8 forward_list::cend Returns a constant random access iterator which points to the end of the forward_list.
9 forward_list::clear Destroys the forward_list by removing all elements from the forward_list and sets size of forward_list to zero.
10 forward_list::emplace_after Constructs and inserts new element after position in the forward_list and increases size of forward_list by one.
11 forward_list::emplace_front Inserts new element at the beginning of the forward_list and increases size of forward_list by one.
12 forward_list::empty Tests whether forward_list is empty or not.
13 forward_list::end Returns a random access iterator which points to the last element of the forward_list.
14 forward_list::erase_after position version Removes single element after position from the the forward_list.
15 forward_list::erase range version Removes range of element from the the forward_list.
16 forward_list::front Returns a reference to the first element of the forward_list.
17 forward_list::get_allocator Returns an allocator associated with forward_list
18 forward_list::insert_after single element version Extends iterator by inserting new element after position in forward_list
19 forward_list::insert_after move version Extends iterator by inserting new element after position in forward_list
20 forward_list::insert_after fill version Extends iterator by inserting new element after position in forward_list
21 forward_list::insert_after range version Extends iterator by inserting new element after position in forward_list
22 forward_list::insert_after initializer list version Extends iterator by inserting new element after position in forward_list
23 forward_list::max_size Returns the maximum number of elements can be held by forward_list.
24 forward_list::merge Merges two sorted forward_lists into one.
25 forward_list::merge move version Merges two sorted forward_lists into one.
26 forward_list::merge compare function Merges two sorted forward_lists into one.
27 forward_list::merge compare function move version Merges two sorted forward_lists into one by using move semantics.
28 forward_list::operator= copy version Assigns new contents to the forward_list by replacing old ones.
29 forward_list::operator= move version Assign new contents to the forward_list by replacing old ones.
30 forward_list::operator= initializer list version Assign new contents to the forward_list by replacing old ones.
31 forward_list::pop_front Removes first element from forward_list.
32 forward_list::push_front copy version Inserts new element at the beginning of forward_list.
33 forward_list::push_front move version Inserts new element at the beginning of forward_list.
34 forward_list::remove removes element(s) from the forward_list that matches the value.
35 forward_list::remove_if removes elements from the forward_list that fulfills the condition.
36 forward_list::resize Changes the size of forward_list.
37 forward_list::resize value version Changes the size of forward_list.
38 forward_list::reverse Reverses the order of the elements present in the forward_list.
39 forward_list::sort Sorts the elements of the forward_list.
40 forward_list::sort compare function Sorts the elements of the forward_list.
41 forward_list::splice_after Transfers all elements from forward_list to *this.
42 forward_list::splice_after move version Transfers all elements from forward_list x to *this by using move semantics.
43 forward_list::splice_after single element Transfers a element pointed to by iterator i from forward_list x into *this.
44 forward_list::splice_after single element move version Transfers the element pointed to by iterator i from forward_list x into *this by using move semantics.
45 forward_list::splice_after range version Transfers the elements in the range of first to last from x to *this.
46 forward_list::splice range and move version Transfers the elements in the range of first to last from x to *this by using move semantics.
47 forward_list::swap Exchanges the content of a forward_list with contents of another forward_list x.
48 forward_list::unique Removes all consecutive duplicate elements from the forward_list.
49 forward_list::unique Removes all consecutive duplicate elements from the forward_list.

Non-member overloaded functions

S.N. Method & Description
1 operator== Tests whether two forward_lists are equal or not.
2 operator!= Tests whether two forward_lists are equal or not.
3 operator< Tests whether first forward_list is less than other or not.
4 operator<= Tests whether first forward_list is less than or equal to other or not.
5 operator> Tests whether first forward_list is greater than other or not.
6 operator>= Tests whether first forward_list is greater than or equal to other or not.
7 swap Exchanges the contents of two forward_list.

No comments:

Post a Comment