< cpp‎ | container
Revision as of 10:47, 26 April 2013 by Eendy (Talk | contribs)

Defined in header <forward_list>

    class T,
    class Allocator = std::allocator<T>

> class forward_list;
(since C++11)

std::forward_list is a container that supports fast insertion and removal of elements from anywhere in the container. Fast random access is not supported. It is implemented as singly-linked list and essentially does not have any overhead compared to its implementation in C. Compared to std::list this container provides more space efficient storage when bidirectional iteration is not needed.

Addition, removal and moving the elements within the list or across several lists does not invalidate the iterators. An iterator is invalidated only when the corresponding element is deleted.

std::forward_list meets the requirements of Container (except for the size() member function), AllocatorAwareContainer and SequenceContainer.


Member types

Template:cpp/container/dcl list value typeTemplate:cpp/container/dcl list allocator typeTemplate:cpp/container/dcl list size typeTemplate:cpp/container/dcl list difference typeTemplate:cpp/container/dcl list referenceTemplate:cpp/container/dcl list const referenceTemplate:cpp/container/dcl list pointerTemplate:cpp/container/dcl list const pointerTemplate:cpp/container/dcl list iteratorTemplate:cpp/container/dcl list const iterator
Member type Definition

Member functions

Template:cpp/container/dcl list constructorTemplate:cpp/container/dcl list destructorTemplate:cpp/container/dcl list operator=Template:cpp/container/dcl list assignTemplate:cpp/container/dcl list get allocatorTemplate:cpp/container/dcl list frontTemplate:cpp/container/dcl list before beginTemplate:cpp/container/dcl list beginTemplate:cpp/container/dcl list endTemplate:cpp/container/dcl list emptyTemplate:cpp/container/dcl list max sizeTemplate:cpp/container/dcl list clearTemplate:cpp/container/dcl list insert afterTemplate:cpp/container/dcl list emplace afterTemplate:cpp/container/dcl list erase afterTemplate:cpp/container/dcl list push frontTemplate:cpp/container/dcl list emplace frontTemplate:cpp/container/dcl list pop frontTemplate:cpp/container/dcl list resizeTemplate:cpp/container/dcl list swapTemplate:cpp/container/dcl list mergeTemplate:cpp/container/dcl list splice afterTemplate:cpp/container/dcl list removeTemplate:cpp/container/dcl list reverseTemplate:cpp/container/dcl list uniqueTemplate:cpp/container/dcl list sort
Element access

Non-member functions

Template:cpp/container/dcl list operator cmpTemplate:cpp/container/dcl list swap2