Dev C++ Libraries List

This list of functions is incomplete, but will be updated when possible to eventually fill the list to all library functions. A note about C vs. C Note that header files from the C standard library should have the form headername.h when used in a C program, and the form cheadername when used in C programs (note the c as a prefix). Libsourcey - Cross-platform C11 library for high speed networking and media encoding. HTTP, WebSockets, TURN, STUN, Symple and more. OnPosix - C library providing several abstractions (e.g., threading, networking, logging, IPC, etc.) on POSIX platforms. Ultimate - Cross-platform rapid application development framework.

The following list of C++ template libraries details the various libraries of templates available for the C++programming language.

The choice of a typical library depends on a diverse range of requirements such as: desired features (e.g.: large dimensional linear algebra, parallel computation, partial differential equations), commercial/opensource nature, readability of API, portability or platform/compiler dependence (e.g.: Linux, Windows, Visual C++, GCC), performance in speed, ease-of-use, continued support from developers, standard compliance, specialized optimization in code for specific application scenarios or even the size of the code-base to be installed.

General[edit]

  • Active Template Library (Windows)
  • CGAL — Computational Geometry Algorithms Library
  • Concurrent Collections for C++ (CnC)
  • KFRlib Audio and DSP library with extensive use of template expressions.
  • mlpack - machine learning
  • Threading Building Blocks (TBB)

See also[edit]

External links[edit]

Retrieved from 'https://en.wikipedia.org/w/index.php?title=List_of_C%2B%2B_template_libraries&oldid=916227115'
  • The C Standard Library
  • The C++ Standard Library
  • The C++ STL Library
Dev C++ Libraries List
  • C++ Programming Resources
  • Selected Reading

Introduction

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

List doesn't provide fast random access, it only supports sequential access in both directions. List allows insertion and deletion operation anywhere within a sequence in constant time.

Elements of list can be scattered in different chunks of memory. Container stores necessary information to allow sequential access to it's data. Lists can shrink or expand as needed from both ends at run time. The storage requirement is fulfilled automatically by internal allocator.

Zero sized lists are also valid. In that case list.begin() and list.end() points to same location. But behavior of calling front() or back() is undefined.

Definition

Below is definition of std::list from <list> header file

Parameters

Dev c libraries list free
  • 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.

Sr.No.Member typesDefinition
1value_typeT (First parameter of the template)
2allocator_typeAlloc (Second parameter of the template)
3referencevalue_type&
4const_referenceconst value_type&
5pointervalue_type*
6const_pointerconst value_type*
7iteratora random access iterator to value_type
8const_iteratora random access iterator to const value_type
9reverse_iteratorstd::reverse_iterator <iterator>
10const_reverse_iteratorstd::reverse_iterator <const_iterator>
11size_typesize_t
12difference_typeptrdiff_t

Functions from <list>

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

Constructors

Sr.No.Method & Description
1list::listdefault constructor

Constructs an empty list with zero elements.

2list::listfill constructor

Constructs a new list with n elements and assigns val to each element of list.

3list::listfill constructor

Constructs a new list with n elements and assign zero value to each element of list.

4list::listrange constructor

Constructs a list with as many elements as in range of first to last.

5list::listcopy constructor

Constructs a list with copy of each elements present in existing list.

6list::listmove constructor

Constructs a list with the contents of other using move semantics.

7list::listinitializer list constructor

Constructs a list with the contents of other using move semantics.

Destructor

Sr.No.Method & Description
1list::~list

Destroys list object by deallocating it's memory.

Member functions

Sr.No.Method & Description
1list::assignrange version

Assigns new value to list by replacing old ones.

2list::assignfill version

Assigns new values to list by replacing old ones.

3list::assigninitializer list version

Assigns new values to list by replacing old ones.

4list::back

Returns a reference to the last element of the list.

5list::begin

Returns a random access iterator which points to the first element of the list.

6list::cbegin

Returns a constant random access iterator which points to the beginning of the list.

7list::cend

Returns a constant random access iterator which points to the end of the list.

8list::clear

Destroys the list by removing all elements from the list and sets size of list to zero.

9list::crbegin

Returns a constant reverse iterator which points to the last element of the list.

10list::crend

Returns a constant reverse iterator which points to the theoretical element preceding the first element in the list.

11list::emplace

Extends list by inserting new element at a given position.

12list::emplace_back

Inserts new element at the end of list and increases size of list by one.

13list::emplace_front

Inserts new element at the beginning of the list and increases size of list by one.

14list::empty

Tests whether list is empty or not.

15list::end

Returns a random access iterator which points to the last element of the list.

16list::erase position version

Removes single element from the the list.

17list::erase range version

Removes range of element from the the list.

18list::front

Returns a reference to the first element of the list.

19list::get_allocator

Returns an allocator associated with list

20list::insertsingle element version

Extends iterator by inserting new element at position in list.

21list::insertfill version

Extends list by inserting new elements in the container.

22list::insertrange version

Extends list by inserting new elements in the container.

23list::insertmove version

Extends list by inserting new element in the container.

24list::insertinitializer list version

Extends list by inserting new elements in the container

25list::max_size

Returns the maximum number of elements can be held by list.

26list::merge

Merges two sorted lists into one.

27list::mergecompare function

Merges two sorted lists into one.

28list::mergemove version

Merges two sorted lists into one by using move semantics.

29list::mergecompare function move version

Merges two sorted lists into one by using move semantics.

30list::operator=copy version

Assigns new contents to the list by replacing old ones.

31list::operator=move version

Assign new contents to the list by replacing old ones.

32list::operator=initializer list version

Assign new contents to the list by replacing old ones.

33list::pop_back

Removes last element from list.

34list::pop_front

Removes first element from list.

35list::push_back

Inserts new element at the end of list.

36list::push_backmove version

Inserts new element at the end of list.

37list::push_front

Inserts new element at the beginning of list.

38list::push_frontmove version

Inserts new element at the beginning of list.

39list::rbegin

Returns a reverse iterator which points to the last element of the list.

40list::remove

removes element(s) from the list that matches the value.

41list::remove_if

removes elements from the list that fulfills the condition.

42list::rend

Returns a reverse iterator which points to the reverse end of the list.

43list::resize

Changes the size of list.

44list::resizevalue version

Changes the size of list.

45list::reverse

Reverses the order of the elements present in the list.

46list::size

Returns the number of elements present in the list.

47list::sort

Sorts the elements of the list.

48list::sortcompare function

Sorts the elements of the list.

49list::splice

Transfers all elements from list to *this.

50list::splicesingle element

Transfers a element pointed to by iterator i from list x into *this.

51list::splicemove version

Transfers all elements from list x to *this by using move semantics.

52list::splicerange version

Transfers the elements in the range of first to last from x to *this.

53list::splicesingle element move version

Transfers the element pointed to by iterator i from list x into *this by using move semantics.

54list::splicerange and move version

Transfers the elements in the range of first to last from x to *this by using move semantics.

55list::swap

Exchanges the content of list with contents of another list x.

56list::unique

Removes all consecutive duplicate elements from the list.

57list::unique

Removes all consecutive duplicate elements from the list.

Non-member overloaded functions

C++ Libraries Windows

Sr.No.Method & Description
1operator

Tests whether two lists are equal or not.

2operator!=

Tests whether two lists are equal or not.

3operator<

Tests whether first list is less than other or not.

4operator<=

Tests whether first list is less than or equal to other or not.

5operator>

Tests whether first list is greater than other or not.

6operator>=

Tests whether first list is greater than or equal to other or not.

7swap

Exchanges the contents of two list.