24#ifndef DD__COLLECTION_IMPL_INCLUDED
25#define DD__COLLECTION_IMPL_INCLUDED
40class Open_dictionary_tables_ctx;
52 typedef std::vector<impl_type *>
Array;
61 for (
size_t i = 0; i <
m_items.size(); ++i)
62 m_items[i]->set_ordinal_position(
static_cast<unsigned int>(i + 1));
119 typename Array::const_iterator it)
169 item->set_ordinal_position(
static_cast<unsigned int>(
m_items.size() + 1));
265 template <
typename Parent_item>
287 template <
typename Parent_item,
typename Compare>
335 template <
typename Parent_item>
Definition: collection.h:107
std::forward_iterator_tag iterator_category
Definition: collection.h:109
Collection_const_iterator & end()
Definition: collection.h:137
std::ptrdiff_t difference_type
Definition: collection.h:111
Collection_const_iterator(const Array *array)
Definition: collection.h:115
Collection_const_iterator(const Array *array, typename Array::const_iterator it)
Definition: collection.h:118
Array::const_iterator m_current
Definition: collection.h:146
const abstract_type * m_current_obj
Definition: collection.h:147
bool operator!=(const Collection_const_iterator &iter) const
Definition: collection.h:126
bool operator==(const Collection_const_iterator &iter) const
Definition: collection.h:122
const abstract_type *& operator*()
Definition: collection.cc:71
const Array * m_array
Definition: collection.h:145
const abstract_type * value_type
Definition: collection.h:110
value_type & reference
Definition: collection.h:113
value_type * pointer
Definition: collection.h:112
Collection_const_iterator & operator++()
Definition: collection.h:130
Array::const_iterator current() const
Definition: collection.h:142
Definition: collection.h:65
Collection_iterator & operator++()
Definition: collection.h:87
bool operator!=(const Collection_iterator &iter) const
Definition: collection.h:83
T & operator*()
Definition: collection.cc:60
Collection_iterator(Array *array, typename Array::iterator it)
Definition: collection.h:76
bool operator==(const Collection_iterator &iter) const
Definition: collection.h:79
Collection_iterator(Array *array)
Definition: collection.h:73
Array * m_array
Definition: collection.h:102
std::ptrdiff_t difference_type
Definition: collection.h:69
Array::iterator current()
Definition: collection.h:99
T value_type
Definition: collection.h:68
std::forward_iterator_tag iterator_category
Definition: collection.h:67
T m_current_obj
Definition: collection.h:104
Array::iterator m_current
Definition: collection.h:103
value_type * pointer
Definition: collection.h:70
Collection_iterator & end()
Definition: collection.h:94
value_type & reference
Definition: collection.h:71
Definition: collection.h:44
const abstract_type * front() const
Definition: collection.h:238
iterator end()
Definition: collection.h:203
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:226
void clear_removed_items()
Remove elements from m_removed_items.
Definition: collection.cc:87
void remove_all()
Remove all items and move it to m_removed_items items.
Definition: collection.h:189
const_iterator cbegin() const
Definition: collection.h:215
const_iterator begin() const
Definition: collection.h:201
Collection_const_iterator const_iterator
Definition: collection.h:166
void remove(impl_type *item)
const abstract_type * operator[](size_t n) const
Definition: collection.h:244
const_iterator cend() const
Definition: collection.h:217
const abstract_type * back() const
Definition: collection.h:241
T at(size_t n)
Definition: collection.h:233
void deep_copy(const Collection< T > &src, Parent_item *parent)
Do a deep copy of a given collection.
Definition: collection.cc:265
iterator begin()
Definition: collection.h:199
bool has_removed_items() const
Check if some of collection elements are removed.
Definition: collection.h:227
std::vector< impl_type * > Array
Definition: collection.h:52
Array m_items
Definition: collection.h:55
void push_front(impl_type *item)
Definition: collection.h:173
void insert(iterator it, impl_type *item)
Definition: collection.h:178
Collection_iterator iterator
Definition: collection.h:165
T front()
Definition: collection.h:239
iterator find(const impl_type *item)
Find item and return the position.
const abstract_type * at(size_t n) const
Definition: collection.cc:258
Array m_removed_items
Definition: collection.h:56
void clear_all_items()
Definition: collection.cc:81
std::remove_pointer< T >::type abstract_type
Definition: collection.h:49
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:195
void push_back(impl_type *item)
Definition: collection.h:168
abstract_type::Impl impl_type
Definition: collection.h:51
const_iterator end() const
Definition: collection.h:209
T operator[](size_t n)
Definition: collection.h:245
bool empty() const
Definition: collection.h:219
void operator=(Collection &)=delete
size_t size() const
Definition: collection.h:229
T value_type
Definition: collection.h:47
void renumerate_items()
Definition: collection.h:60
bool store_items(Open_dictionary_tables_ctx *otx)
store items in collection on to DD table.
Definition: collection.cc:203
T back()
Definition: collection.h:242
Collection(const Collection &)=delete
~Collection()
Definition: collection.h:153
Definition: object_key.h:38
Auxiliary class for opening dictionary tables.
Definition: transaction_impl.h:76
Definition: raw_table.h:44
Fido Client Authentication nullptr
Definition: fido_client_plugin.cc:222
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:43
required string key
Definition: replication_asynchronous_connection_failover.proto:60
required string type
Definition: replication_group_member_actions.proto:34
int n
Definition: xcom_base.cc:509