23#ifndef DD__COLLECTION_IMPL_INCLUDED
24#define DD__COLLECTION_IMPL_INCLUDED
39class Open_dictionary_tables_ctx;
51 typedef std::vector<impl_type *>
Array;
60 for (
size_t i = 0; i <
m_items.size(); ++i)
61 m_items[i]->set_ordinal_position(
static_cast<unsigned int>(i + 1));
118 typename Array::const_iterator it)
168 item->set_ordinal_position(
static_cast<unsigned int>(
m_items.size() + 1));
264 template <
typename Parent_item>
286 template <
typename Parent_item,
typename Compare>
334 template <
typename Parent_item>
Definition: collection.h:106
std::forward_iterator_tag iterator_category
Definition: collection.h:108
Collection_const_iterator & end()
Definition: collection.h:136
std::ptrdiff_t difference_type
Definition: collection.h:110
Collection_const_iterator(const Array *array)
Definition: collection.h:114
Collection_const_iterator(const Array *array, typename Array::const_iterator it)
Definition: collection.h:117
Array::const_iterator m_current
Definition: collection.h:145
const abstract_type * m_current_obj
Definition: collection.h:146
bool operator!=(const Collection_const_iterator &iter) const
Definition: collection.h:125
bool operator==(const Collection_const_iterator &iter) const
Definition: collection.h:121
const abstract_type *& operator*()
Definition: collection.cc:70
const Array * m_array
Definition: collection.h:144
const abstract_type * value_type
Definition: collection.h:109
value_type & reference
Definition: collection.h:112
value_type * pointer
Definition: collection.h:111
Collection_const_iterator & operator++()
Definition: collection.h:129
Array::const_iterator current() const
Definition: collection.h:141
Definition: collection.h:64
Collection_iterator & operator++()
Definition: collection.h:86
bool operator!=(const Collection_iterator &iter) const
Definition: collection.h:82
T & operator*()
Definition: collection.cc:59
Collection_iterator(Array *array, typename Array::iterator it)
Definition: collection.h:75
bool operator==(const Collection_iterator &iter) const
Definition: collection.h:78
Collection_iterator(Array *array)
Definition: collection.h:72
Array * m_array
Definition: collection.h:101
std::ptrdiff_t difference_type
Definition: collection.h:68
Array::iterator current()
Definition: collection.h:98
T value_type
Definition: collection.h:67
std::forward_iterator_tag iterator_category
Definition: collection.h:66
T m_current_obj
Definition: collection.h:103
Array::iterator m_current
Definition: collection.h:102
value_type * pointer
Definition: collection.h:69
Collection_iterator & end()
Definition: collection.h:93
value_type & reference
Definition: collection.h:70
Definition: collection.h:43
const abstract_type * front() const
Definition: collection.h:237
iterator end()
Definition: collection.h:202
bool drop_items(Open_dictionary_tables_ctx *otx, Raw_table *table, Object_key *key) const
Remove all items details from DD table.
Definition: collection.cc:225
void clear_removed_items()
Remove elements from m_removed_items.
Definition: collection.cc:86
void remove_all()
Remove all items and move it to m_removed_items items.
Definition: collection.h:188
const_iterator cbegin() const
Definition: collection.h:214
const_iterator begin() const
Definition: collection.h:200
Collection_const_iterator const_iterator
Definition: collection.h:165
void remove(impl_type *item)
const abstract_type * operator[](size_t n) const
Definition: collection.h:243
const_iterator cend() const
Definition: collection.h:216
const abstract_type * back() const
Definition: collection.h:240
T at(size_t n)
Definition: collection.h:232
void deep_copy(const Collection< T > &src, Parent_item *parent)
Do a deep copy of a given collection.
Definition: collection.cc:264
iterator begin()
Definition: collection.h:198
bool has_removed_items() const
Check if some of collection elements are removed.
Definition: collection.h:226
std::vector< impl_type * > Array
Definition: collection.h:51
Array m_items
Definition: collection.h:54
void push_front(impl_type *item)
Definition: collection.h:172
void insert(iterator it, impl_type *item)
Definition: collection.h:177
Collection_iterator iterator
Definition: collection.h:164
T front()
Definition: collection.h:238
iterator find(const impl_type *item)
Find item and return the position.
const abstract_type * at(size_t n) const
Definition: collection.cc:257
Array m_removed_items
Definition: collection.h:55
void clear_all_items()
Definition: collection.cc:80
std::remove_pointer< T >::type abstract_type
Definition: collection.h:48
bool restore_items(Parent_item *parent, Open_dictionary_tables_ctx *otx, Raw_table *table, Object_key *key)
Populate collection with items read from DD table.
Definition: collection.cc:194
void push_back(impl_type *item)
Definition: collection.h:167
abstract_type::Impl impl_type
Definition: collection.h:50
const_iterator end() const
Definition: collection.h:208
T operator[](size_t n)
Definition: collection.h:244
bool empty() const
Definition: collection.h:218
void operator=(Collection &)=delete
size_t size() const
Definition: collection.h:228
T value_type
Definition: collection.h:46
void renumerate_items()
Definition: collection.h:59
bool store_items(Open_dictionary_tables_ctx *otx)
store items in collection on to DD table.
Definition: collection.cc:202
T back()
Definition: collection.h:241
Collection(const Collection &)=delete
~Collection()
Definition: collection.h:152
Definition: object_key.h:37
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:75
Definition: raw_table.h:43
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:221
static PFS_engine_table_share_proxy table
Definition: pfs.cc:60
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:42
required string key
Definition: replication_asynchronous_connection_failover.proto:59
required string type
Definition: replication_group_member_actions.proto:33
int n
Definition: xcom_base.cc:508