Skip to content

micro-hxq/STL

Repository files navigation

Simple C++ STL


This is simple c++ stl based on sgi-stl, but adds some new c++11 functions. The purpose of it is to master underlying implementation of stl.


1. type_traits

  • is_trivially_default_constructible
  • is_trivially_copy_constructible
  • is_trivially_move_constructible
  • is_trivially_copy_assignable
  • is_trivially_move_assignable
  • is_trivially_destructible
  • is_integral
  • is_pod
  • remove_reference and remove_reference_t

2. utility

  • pair
  • relops
  • forward
  • move

3. allocator

  • construct
  • destroy
  • allocator
  • allocator_traits

4. iterator

  • iterator
  • iterator_traits
  • distance
  • advance
  • next
  • prev
  • back_insert_iterator
  • back_inserter
  • front_insert_iterator
  • front_inserter
  • insert_iterator
  • inserter
  • reverse_iterator
  • make_reverse_iterator
  • begin
  • end
  • cbegin
  • cend
  • rbegin
  • rend
  • crbegin
  • crend

5. functional

  • plus
  • minus
  • multiplies
  • divides
  • modulus
  • negate
  • equal_to
  • not_equal_to
  • greater
  • less
  • greater_equal
  • less_equal
  • logical_and
  • logical_or
  • logical_not
  • bit_and
  • bit_or
  • bit_xor
  • bit_not
  • default_order and default_order_t

6. algorithm

  • swap
  • iter_swap
  • min
  • max
  • copy
  • copy_backward
  • copy_n
  • fill
  • fill_n
  • equal
  • lexicographical_compare
  • lexicographical_compare_3way
  • all_of
  • any_of
  • none_of
  • for_each
  • for_each_n
  • count
  • count_if
  • mismatch
  • adjacent_find
  • find
  • find_if
  • find_if_not
  • find_first_of
  • search
  • search_n
  • find_end
  • swap_ranges
  • copy_if
  • move
  • move_backward
  • transform
  • generate
  • generate_n
  • remove_copy
  • remove_copy_if
  • remove
  • remove_if
  • replace
  • replace_if
  • replace_copy
  • replace_copy_if
  • reverse
  • reverse_copy
  • rotate
  • rotate_copy
  • unique
  • unique_copy
  • partition
  • partition_copy
  • is_partitioned
  • partition_point
  • stable_partition
  • is_sort_until
  • is_sort
  • partial_sort
  • partial_sort_copy
  • lower_bound
  • upper_bound
  • equal_range
  • binary_search
  • merge
  • includes
  • set_difference
  • set_intersection
  • set_symmetric_difference
  • set_union
  • max_element
  • min_element
  • minmax_element
  • minmax
  • clamp
  • is_permutation
  • next_permutation
  • prev_permutation
  • nth_element

7. string

8. container class template

  • array
  • vector
  • deque
  • list
  • forward_list
  • rb_tree
  • set
  • multiset
  • map
  • multimap
  • hash_table
  • unordered_set
  • unordered_multiset
  • unordered_map
  • unordered_multimap
  • binary_search_tree
  • avl_tree

9. adaptor

  • stack
  • queue
  • priority_queue

10. toys

  • union_find
  • selection_sort
  • insertion_sort
  • shell_sort
  • quick_sort
  • heap_sort

Test

About

cplusplus STL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published