Advertisement
Tainel

src/base/features/containers.hpp

Jun 2nd, 2023 (edited)
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.84 KB | Source Code | 0 0
  1. #pragma once
  2.  
  3. #include"base/dependencies/index.hpp"
  4.  
  5. // Representation of the absence of a type, useful for template tricks.
  6. using none=PBDS::null_type;
  7.  
  8. // Priority queue type alias.
  9. template<class Type,class Comp=greater<Type>>
  10. using pqueue=priority_queue<Type,vector<Type>,Comp>;
  11.  
  12. // Indexable red-black tree type alias.
  13. template<class Key,class Val=none,class Comp=less<Key>>using rbtree=PBDS::tree<
  14.     Key,Val,Comp,PBDS::rb_tree_tag,PBDS::tree_order_statistics_node_update
  15. >;
  16.  
  17. // Unordered set type alias.
  18. template<class Key,class Hash=hash<Key>>using uset=unordered_set<Key,Hash>;
  19.  
  20. // Unordered map type alias.
  21. template<class Key,class Val,class Hash=hash<Key>>
  22. using umap=unordered_map<Key,Val,Hash>;
  23.  
  24. // Hash table type alias.
  25. template<class Key,class Val=none,class Hash=hash<Key>>
  26. using htable=PBDS::gp_hash_table<Key,Val,Hash>;
  27.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement