42#ifndef PB_DS_TAG_AND_TRAIT_HPP 
   43#define PB_DS_TAG_AND_TRAIT_HPP 
  213  template<
typename _Tp1, 
typename _Tp2, 
typename _Tp3, 
typename _Tp4>
 
  219  template<
typename _Tag>
 
  231        order_preserving = 
false,
 
  232        erase_can_throw = 
false,
 
  233        split_join_can_throw = 
false,
 
  234        reverse_iteration = 
false 
  247        order_preserving = 
false,
 
  248        erase_can_throw = 
false,
 
  249        split_join_can_throw = 
false,
 
  250        reverse_iteration = 
false 
  263        order_preserving = 
true,
 
  264        erase_can_throw = 
false,
 
  265        split_join_can_throw = 
false,
 
  266        reverse_iteration = 
true 
  279        order_preserving = 
true,
 
  280        erase_can_throw = 
false,
 
  281        split_join_can_throw = 
false,
 
  282        reverse_iteration = 
true 
  295        order_preserving = 
true,
 
  296        erase_can_throw = 
true,
 
  297        split_join_can_throw = 
true,
 
  298        reverse_iteration = 
false 
  311        order_preserving = 
true,
 
  312        erase_can_throw = 
false,
 
  313        split_join_can_throw = 
true,
 
  314        reverse_iteration = 
true 
  327        order_preserving = 
false,
 
  328        erase_can_throw = 
false,
 
  329        split_join_can_throw = 
false,
 
  330        reverse_iteration = 
false 
  343        order_preserving = 
false,
 
  344        erase_can_throw = 
false,
 
  345        split_join_can_throw = 
false,
 
  346        reverse_iteration = 
false 
  359        order_preserving = 
false,
 
  360        erase_can_throw = 
false,
 
  361        split_join_can_throw = 
false,
 
  362        reverse_iteration = 
false 
  375        order_preserving = 
false,
 
  376        erase_can_throw = 
false,
 
  377        split_join_can_throw = 
false,
 
  378        reverse_iteration = 
false 
  391        order_preserving = 
false,
 
  392        erase_can_throw = 
false,
 
  393        split_join_can_throw = 
false,
 
  394        reverse_iteration = 
false 
  407        order_preserving = 
false,
 
  408        erase_can_throw = 
false,
 
  409        split_join_can_throw = 
true,
 
  410        reverse_iteration = 
false 
  417  template<
typename Cntnr>
 
  421    typedef Cntnr                                      container_type;
 
  422    typedef typename Cntnr::container_category         container_category;
 
  424    typedef typename base_type::invalidation_guarantee invalidation_guarantee;
 
  447    template<
typename Key, 
typename Mapped, 
typename _Alloc, 
typename Tag,
 
  448             typename Policy_Tl = null_type>
 
void trivial_iterator_difference_type
Prohibit moving trivial iterators.
GNU extensions for policy-based data structures for public use.
A trivial iterator tag. Signifies that the iterators has none of std::iterators's movement abilities.
Basic string container, inclusive of strings, ropes, etc.
Basic associative-container.
Redundant-counter binomial-heap.
Binary-heap (array-based).
Represents no type, or absence of type, for template tricks.
A null node updator, indicating that no node updates are required.
Primary template, container traits base.
@ erase_can_throw
True only if erasing a key can throw.
@ split_join_can_throw
True only if split or join operations can throw.
@ order_preserving
True only if Cntnr objects guarantee storing keys by order.
@ reverse_iteration
True only reverse iterators are supported.
Dispatch mechanism, primary template for associative types.