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.