OR-Tools  9.6
IdMap< K, V >

Detailed Description

template<typename K, typename V>
class operations_research::math_opt::IdMap< K, V >

Definition at line 57 of file id_map.h.

Classes

class  const_iterator
 
class  iterator
 

Public Types

using IdType = typename K::IdType
 
using StorageType = absl::flat_hash_map< IdType, V >
 
using key_type = K
 
using mapped_type = V
 
using value_type = std::pair< const K, V >
 
using size_type = typename StorageType::size_type
 
using difference_type = typename StorageType::difference_type
 
using reference = std::pair< const K, V & >
 
using const_reference = std::pair< const K, const V & >
 
using pointer = void
 
using const_pointer = void
 

Public Member Functions

 IdMap ()=default
 
template<typename InputIt >
 IdMap (InputIt first, InputIt last)
 
 IdMap (std::initializer_list< value_type > ilist)
 
 IdMap (const ModelStorage *storage, StorageType values)
 
const_iterator cbegin () const
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator cend () const
 
const_iterator end () const
 
iterator end ()
 
bool empty () const
 
size_type size () const
 
void clear ()
 
void reserve (size_type count)
 
std::pair< iterator, bool > insert (std::pair< K, V > k_v)
 
template<typename InputIt >
void insert (InputIt first, InputIt last)
 
void insert (std::initializer_list< value_type > ilist)
 
template<typename M >
std::pair< iterator, bool > insert_or_assign (const K &k, M &&v)
 
std::pair< iterator, bool > emplace (const K &k, V v)
 
template<typename... Args>
std::pair< iterator, bool > try_emplace (const K &k, Args &&... args)
 
size_type erase (const K &k)
 
void erase (const_iterator pos)
 
iterator erase (const_iterator first, const_iterator last)
 
void swap (IdMap &other)
 
const V & at (const K &k) const
 
V & at (const K &k)
 
V & operator[] (const K &k)
 
size_type count (const K &k) const
 
bool contains (const K &k) const
 
iterator find (const K &k)
 
const_iterator find (const K &k) const
 
std::pair< iterator, iteratorequal_range (const K &k)
 
std::pair< const_iterator, const_iteratorequal_range (const K &k) const
 
void Add (const IdMap &other)
 
void Subtract (const IdMap &other)
 
std::vector< V > Values (absl::Span< const K > keys) const
 
absl::flat_hash_map< K, V > Values (const absl::flat_hash_set< K > &keys) const
 
std::vector< K > SortedKeys () const
 
std::vector< V > SortedValues () const
 
const StorageTyperaw_map () const
 
const ModelStoragestorage () const
 
template<typename M >
std::pair< typename IdMap< K, V >::iterator, bool > insert_or_assign (const K &k, M &&v)
 
template<typename... Args>
std::pair< typename IdMap< K, V >::iterator, bool > try_emplace (const K &k, Args &&... args)
 

Member Typedef Documentation

◆ const_pointer

using const_pointer = void

Definition at line 69 of file id_map.h.

◆ const_reference

using const_reference = std::pair<const K, const V&>

Definition at line 67 of file id_map.h.

◆ difference_type

using difference_type = typename StorageType::difference_type

Definition at line 65 of file id_map.h.

◆ IdType

using IdType = typename K::IdType

Definition at line 59 of file id_map.h.

◆ key_type

using key_type = K

Definition at line 61 of file id_map.h.

◆ mapped_type

using mapped_type = V

Definition at line 62 of file id_map.h.

◆ pointer

using pointer = void

Definition at line 68 of file id_map.h.

◆ reference

using reference = std::pair<const K, V&>

Definition at line 66 of file id_map.h.

◆ size_type

using size_type = typename StorageType::size_type

Definition at line 64 of file id_map.h.

◆ StorageType

using StorageType = absl::flat_hash_map<IdType, V>

Definition at line 60 of file id_map.h.

◆ value_type

using value_type = std::pair<const K, V>

Definition at line 63 of file id_map.h.

Constructor & Destructor Documentation

◆ IdMap() [1/4]

IdMap ( )
default

◆ IdMap() [2/4]

IdMap ( InputIt  first,
InputIt  last 
)
inline

Definition at line 367 of file id_map.h.

◆ IdMap() [3/4]

IdMap ( std::initializer_list< value_type ilist)
inline

Definition at line 372 of file id_map.h.

◆ IdMap() [4/4]

IdMap ( const ModelStorage storage,
StorageType  values 
)
inline

Definition at line 358 of file id_map.h.

Member Function Documentation

◆ Add()

void Add ( const IdMap< K, V > &  other)
inline

Definition at line 560 of file id_map.h.

◆ at() [1/2]

V & at ( const K &  k)
inline

Definition at line 503 of file id_map.h.

◆ at() [2/2]

const V & at ( const K &  k) const
inline

Definition at line 497 of file id_map.h.

◆ begin() [1/2]

IdMap< K, V >::iterator begin
inline

Definition at line 387 of file id_map.h.

◆ begin() [2/2]

IdMap< K, V >::const_iterator begin
inline

Definition at line 382 of file id_map.h.

◆ cbegin()

IdMap< K, V >::const_iterator cbegin
inline

Definition at line 377 of file id_map.h.

◆ cend()

IdMap< K, V >::const_iterator cend
inline

Definition at line 392 of file id_map.h.

◆ clear()

void clear
inline

Definition at line 407 of file id_map.h.

◆ contains()

bool contains ( const K &  k) const
inline

Definition at line 521 of file id_map.h.

◆ count()

IdMap< K, V >::size_type count ( const K &  k) const
inline

Definition at line 515 of file id_map.h.

◆ emplace()

std::pair< typename IdMap< K, V >::iterator, bool > emplace ( const K &  k,
v 
)
inline

Definition at line 442 of file id_map.h.

◆ empty()

bool empty ( ) const
inline

Definition at line 155 of file id_map.h.

◆ end() [1/2]

IdMap< K, V >::iterator end
inline

Definition at line 402 of file id_map.h.

◆ end() [2/2]

IdMap< K, V >::const_iterator end
inline

Definition at line 397 of file id_map.h.

◆ equal_range() [1/2]

std::pair< typename IdMap< K, V >::iterator, typename IdMap< K, V >::iterator > equal_range ( const K &  k)
inline

Definition at line 540 of file id_map.h.

◆ equal_range() [2/2]

std::pair< typename IdMap< K, V >::const_iterator, typename IdMap< K, V >::const_iterator > equal_range ( const K &  k) const
inline

Definition at line 551 of file id_map.h.

◆ erase() [1/3]

IdMap< K, V >::size_type erase ( const K &  k)
inline

Definition at line 462 of file id_map.h.

◆ erase() [2/3]

IdMap< K, V >::iterator erase ( const_iterator  first,
const_iterator  last 
)
inline

Definition at line 480 of file id_map.h.

◆ erase() [3/3]

void erase ( const_iterator  pos)
inline

Definition at line 472 of file id_map.h.

◆ find() [1/2]

IdMap< K, V >::iterator find ( const K &  k)
inline

Definition at line 527 of file id_map.h.

◆ find() [2/2]

IdMap< K, V >::const_iterator find ( const K &  k) const
inline

Definition at line 533 of file id_map.h.

◆ insert() [1/3]

void insert ( InputIt  first,
InputIt  last 
)
inline

Definition at line 420 of file id_map.h.

◆ insert() [2/3]

void insert ( std::initializer_list< value_type ilist)
inline

Definition at line 427 of file id_map.h.

◆ insert() [3/3]

std::pair< typename IdMap< K, V >::iterator, bool > insert ( std::pair< K, V >  k_v)
inline

Definition at line 413 of file id_map.h.

◆ insert_or_assign() [1/2]

std::pair<iterator, bool> insert_or_assign ( const K &  k,
M &&  v 
)
inline

◆ insert_or_assign() [2/2]

std::pair<typename IdMap<K, V>::iterator, bool> insert_or_assign ( const K &  k,
M &&  v 
)

Definition at line 433 of file id_map.h.

◆ operator[]()

V & operator[] ( const K &  k)
inline

Definition at line 509 of file id_map.h.

◆ raw_map()

const StorageType& raw_map ( ) const
inline

Definition at line 234 of file id_map.h.

◆ reserve()

void reserve ( size_type  count)
inline

Definition at line 158 of file id_map.h.

◆ size()

size_type size ( ) const
inline

Definition at line 156 of file id_map.h.

◆ SortedKeys()

std::vector< K > SortedKeys
inline

Definition at line 596 of file id_map.h.

◆ SortedValues()

std::vector< V > SortedValues
inline

Definition at line 606 of file id_map.h.

◆ storage()

const ModelStorage* storage ( ) const
inline

Definition at line 235 of file id_map.h.

◆ Subtract()

void Subtract ( const IdMap< K, V > &  other)
inline

Definition at line 568 of file id_map.h.

◆ swap()

void swap ( IdMap< K, V > &  other)
inline

Definition at line 490 of file id_map.h.

◆ try_emplace() [1/2]

std::pair<iterator, bool> try_emplace ( const K &  k,
Args &&...  args 
)
inline

◆ try_emplace() [2/2]

std::pair<typename IdMap<K, V>::iterator, bool> try_emplace ( const K &  k,
Args &&...  args 
)

Definition at line 452 of file id_map.h.

◆ Values() [1/2]

std::vector< V > Values ( absl::Span< const K >  keys) const
inline

Definition at line 576 of file id_map.h.

◆ Values() [2/2]

absl::flat_hash_map< K, V > Values ( const absl::flat_hash_set< K > &  keys) const
inline

Definition at line 586 of file id_map.h.


The documentation for this class was generated from the following file: