Intelligentedu
Free Computer and I.T. Books


December 2, 2005

The Standard Template Library Programmers Guide for C++

The Standard Template Library, or STL, is a C++ (cplusplus)library of container classes, algorithms, and iterators; it provides many of the basic algorithms and data structures of computer science. The STL is a generic library, meaning that its components are heavily parameterized: almost every component in the STL is a template. You should make sure that you understand how templates work in C++ before you use the STL. The Standard Template Library Programmer's Guide will show you how to use these classes, algorithms and iterators when coding in the C++ programming language. You can download the full manual, and also available are Frequently Asked Questions to help and guide you.


The Standard Template Library Programmer's Guide

  1. Introduction to the STL
  2. How to use the documentation
  3. Containers
    1. Concepts
      1. General concepts
        1. Container
        2. Forward Container
        3. Reversible Container
        4. Random Access Container
      2. Sequences
        1. Sequence
        2. Front Insertion Sequence
        3. Back Insertion Sequence
      3. Associative Containers
        1. Associative Container
        2. Simple Associative Container
        3. Pair Associative Container
        4. Sorted Associative Container
        5. Hashed Associative Container
        6. HashFunction
        7. Unique Associative Container
        8. Multiple Associative Container
        9. Unique Sorted Associative Container
        10. Multiple Sorted Associative Container
        11. Unique Hashed Associative Container
        12. Multiple Hashed Associative Container
    2. Container classes
      1. Sequences
        1. vector
        2. deque
        3. list
        4. slist
        5. bit_vector
      2. Associative Containers
        1. set
        2. map
        3. multiset
        4. multimap
        5. hash_set
        6. hash_map
        7. hash_multiset
        8. hash_multimap
        9. hash
      3. String package
        1. Character Traits
        2. char_traits
        3. basic_string
      4. rope
      5. Container adaptors
        1. stack
        2. queue
        3. priority_queue
      6. bitset
  4. Iterators
    1. Introduction
    2. Concepts
      1. Trivial Iterator
      2. Input Iterator
      3. Output Iterator
      4. Forward Iterator
      5. Bidirectional Iterator
      6. Random Access Iterator
    3. Iterator Tags
      1. Introduction
      2. iterator_traits
      3. iterator_category
      4. distance_type
      5. value_type
      6. Iterator tag classes
        1. input_iterator_tag
        2. output_iterator_tag
        3. forward_iterator_tag
        4. bidirectional_iterator_tag
        5. random_access_iterator_tag
      7. Iterator base classes
        1. input_iterator
        2. output_iterator
        3. forward_iterator
        4. bidirectional_iterator
        5. random_access_iterator
    4. Iterator functions
      1. distance
      2. advance
    5. Iterator classes
      1. istream_iterator
      2. ostream_iterator
      3. front_insert_iterator
      4. back_insert_iterator
      5. insert_iterator
      6. reverse_iterator
      7. reverse_bidirectional_iterator
      8. raw_storage_iterator
      9. sequence_buffer
  5. Algorithms
    1. Non-mutating algorithms
      1. for_each
      2. find
      3. find_if
      4. adjacent_find
      5. find_first_of
      6. count
      7. count_if
      8. mismatch
      9. equal
      10. search
      11. search_n
      12. find_end
    2. Mutating algorithms
      1. copy
      2. copy_n
      3. copy_backward
      4. Swap
        1. swap
        2. iter_swap
        3. swap_ranges
      5. transform
      6. Replace
        1. replace
        2. replace_if
        3. replace_copy
        4. replace_copy_if
      7. fill
      8. fill_n
      9. generate
      10. generate_n
      11. Remove
        1. remove
        2. remove_if
        3. remove_copy
        4. remove_copy_if
      12. unique
      13. unique_copy
      14. reverse
      15. reverse_copy
      16. rotate
      17. rotate_copy
      18. random_shuffle
      19. random_sample
      20. random_sample_n
      21. partition
      22. stable_partition
    3. Sorting
      1. Sort
        1. sort
        2. stable_sort
        3. partial_sort
        4. partial_sort_copy
        5. is_sorted
      2. nth_element
      3. Binary search
        1. lower_bound
        2. upper_bound
        3. equal_range
        4. binary_search
      4. merge
      5. inplace_merge
      6. Set operations on sorted ranges
        1. includes
        2. set_union
        3. set_intersection
        4. set_difference
        5. set_symmetric_difference
      7. Heap operations
        1. push_heap
        2. pop_heap
        3. make_heap
        4. sort_heap
        5. is_heap
      8. Minimum and maximum
        1. min
        2. max
        3. min_element
        4. max_element
      9. lexicographical_compare
      10. lexicographical_compare_3way
      11. next_permutation
      12. prev_permutation
    4. Generalized numeric algorithms
      1. iota
      2. accumulate
      3. inner_product
      4. partial_sum
      5. adjacent_difference
      6. power
  6. Function Objects
    1. Introduction
    2. Concepts
      1. Generator
      2. Unary Function
      3. Binary Function
      4. Adaptable Generator
      5. Adaptable Unary Function
      6. Adaptable Binary Function
      7. Predicates
        1. Predicate
        2. Binary Predicate
        3. Adaptable Predicate
        4. Adaptable Binary Predicate
        5. StrictWeakOrdering
      8. Monoid Operation
      9. Random Number Generator
    3. Predefined function objects
      1. Arithmetic operations
        1. plus
        2. minus
        3. multiplies (formerly called "times")
        4. divides
        5. modulus
        6. negate
      2. Comparisons
        1. equal_to
        2. not_equal_to
        3. less
        4. greater
        5. less_equal
        6. greater_equale
      3. Logical operations
        1. logical_and
        2. logical_or
        3. logical_not
      4. Generalized identity operations
        1. identity
        2. project1st
        3. project2nd
        4. select1st
        5. select2nd
      5. subtractive_rng
    4. Function object adaptors
      1. binder1st
      2. binder2nd
      3. ptr_fun
      4. pointer_to_unary_function
      5. pointer_to_binary_function
      6. unary_negate
      7. binary_negate
      8. unary_compose
      9. binary_compose
      10. Member function adaptors
        1. mem_fun
        2. mem_fun_ref
        3. mem_fun1
        4. mem_fun1_ref
  7. Utilities
    1. Concepts
      1. Assignable
      2. Default Constructible
      3. Equality Comparable
      4. LessThan Comparable
    2. Functions
      1. Relational Operators
    3. Classes
      1. pair
  8. Memory Allocation
    1. Classes
      1. Allocators
      2. raw_storage_iterator
    2. Functions
      1. construct
      2. destroy
      3. uninitialized_copy
      4. uninitialized_copy_n
      5. uninitialized_fill
      6. uninitialized_fill_n
      7. temporary_buffer
      8. get_temporary_buffer
      9. return_temporary_buffer
  9. Design documents
    1. Thread safety
    2. The meaning of complexity specifications
    3. Representations of strings
  10. Categorized Index
  11. Full Index



Filed under: Free Computer and I.T. Books — computer_teacher @ 11:12 pm


Powered by WordPress