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>
True only reverse iterators are supported.
Basic string container, inclusive of strings, ropes, etc.
A trivial iterator tag. Signifies that the iterators has none of std::iterators's movement abilities...
Redundant-counter binomial-heap.
True only if split or join operations can throw.
True only if erasing a key can throw.
Primary template, container traits base.
void trivial_iterator_difference_type
Prohibit moving trivial iterators.
Represents no type, or absence of type, for template tricks.
Basic associative-container.
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.