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