| 524 | |
| 525 | template <class K, class T, class H, class P, class A> |
| 526 | class unordered_multimap |
| 527 | { |
| 528 | #if defined(BOOST_UNORDERED_USE_MOVE) |
| 529 | BOOST_COPYABLE_AND_MOVABLE(unordered_multimap) |
| 530 | #endif |
| 531 | public: |
| 532 | |
| 533 | typedef K key_type; |
| 534 | typedef std::pair<const K, T> value_type; |
| 535 | typedef T mapped_type; |
| 536 | typedef H hasher; |
| 537 | typedef P key_equal; |
| 538 | typedef A allocator_type; |
| 539 | |
| 540 | private: |
| 541 | |
| 542 | typedef boost::unordered::detail::multimap<A, K, T, H, P> types; |
| 543 | typedef typename types::traits allocator_traits; |
| 544 | typedef typename types::table table; |
| 545 | |
| 546 | public: |
| 547 | |
| 548 | typedef typename allocator_traits::pointer pointer; |
| 549 | typedef typename allocator_traits::const_pointer const_pointer; |
| 550 | |
| 551 | typedef value_type& reference; |
| 552 | typedef value_type const& const_reference; |
| 553 | |
| 554 | typedef std::size_t size_type; |
| 555 | typedef std::ptrdiff_t difference_type; |
| 556 | |
| 557 | typedef typename table::cl_iterator const_local_iterator; |
| 558 | typedef typename table::l_iterator local_iterator; |
| 559 | typedef typename table::c_iterator const_iterator; |
| 560 | typedef typename table::iterator iterator; |
| 561 | |
| 562 | private: |
| 563 | |
| 564 | table table_; |
| 565 | |
| 566 | public: |
| 567 | |
| 568 | // constructors |
| 569 | |
| 570 | explicit unordered_multimap( |
| 571 | size_type = boost::unordered::detail::default_bucket_count, |
| 572 | const hasher& = hasher(), |
| 573 | const key_equal& = key_equal(), |
| 574 | const allocator_type& = allocator_type()); |
| 575 | |
| 576 | explicit unordered_multimap(allocator_type const&); |
| 577 | |
| 578 | template <class InputIt> |
| 579 | unordered_multimap(InputIt, InputIt); |
| 580 | |
| 581 | template <class InputIt> |
| 582 | unordered_multimap( |
| 583 | InputIt, InputIt, |
nothing calls this directly
no test coverage detected