|
| | Assumptions ()=default |
| | Assumptions (std::initializer_list< value_type > entries) |
| | Assumptions (const Map &entries) |
| | Assumptions (Map &&entries) |
| size_type | size () const |
| bool | empty () const |
| void | clear () |
| const_iterator | begin () const |
| const_iterator | end () const |
| const_iterator | cbegin () const |
| const_iterator | cend () const |
| iterator | begin () |
| | Mutable iteration: the base is copied in first. The end is the own entries', which mutable finds return too.
|
| iterator | end () |
| const_iterator | find (const Symbol &symbol) const |
| iterator | find (const Symbol &symbol) |
| | A mutable entry, copied from the base first if only the base holds it.
|
| bool | contains (const Symbol &symbol) const |
| size_type | count (const Symbol &symbol) const |
| const Assumption & | at (const Symbol &symbol) const |
| Assumption & | at (const Symbol &symbol) |
| Assumption & | operator[] (const Symbol &symbol) |
| std::pair< iterator, bool > | insert (const value_type &entry) |
| | Inserts entry unless its symbol has an entry, here or in the base; true if it did.
|
| std::pair< iterator, bool > | insert (value_type &&entry) |
| template<typename InputIt> |
| void | insert (InputIt first, InputIt last) |
| template<typename... Args> |
| std::pair< iterator, bool > | emplace (Args &&... args) |
| template<typename... Args> |
| std::pair< iterator, bool > | try_emplace (const Symbol &symbol, Args &&... args) |
| template<typename M> |
| std::pair< iterator, bool > | insert_or_assign (const Symbol &symbol, M &&value) |
| Map::node_type | extract (const Symbol &symbol) |
| | Node handles, as for renaming an entry's symbol, work on own entries: the base is copied in first.
|
| Map::insert_return_type | insert (Map::node_type &&node) |
| size_type | erase (const Symbol &symbol) |
| iterator | erase (iterator position) |
Map from symbols to their assumptions.
This type represents a collection of assumptions for multiple symbols. Each symbol maps to its Assumption containing bounds, constness, and evolution.
It behaves as an std::unordered_map from symbols to assumptions, but may share an immutable base map with other instances and hold only the entries that differ from it. Looking an entry up finds it in either; writing to one of the base copies it into the instance first; iterating visits the instance's entries, then the base's others. Iterating, or erasing from, a mutable instance gives it its own copy of the base first.