#include <slice_nonunique_index.hpp>
Граф наследования:slice_nonunique_index_t:
Открытые члены | |
slice_nonunique_index_t (slice_image_iface_t< Item > &slice, const Key_extractor &key_extractor, unsigned int attach_flags=0) | |
сразу привязывает индекс к образу раздела. | |
iterator | begin () |
Первый ключ индекса. | |
const_iterator | begin () const |
Первый ключ индекса. | |
iterator | end () |
Последний ключ индекса. | |
const_iterator | end () const |
Последний ключ индекса. | |
iterator | find (const Key &o) |
Найти объект по ключу. | |
const_iterator | find (const Key &o) const |
Найти объект по ключу. | |
iterator | lower_bound (const Key &o) |
Найти нижнюю границу. | |
const_iterator | lower_bound (const Key &o) const |
Найти нижнюю границу. | |
iterator | upper_bound (const Key &o) |
Найти верхнюю границу. | |
const_iterator | upper_bound (const Key &o) const |
Найти нижнюю границу. | |
void | erase (const iterator &it) |
Удаление объекта из индекса и из раздела. | |
void | erase (const Key &o) |
Удаление объекта из индекса и из раздела. | |
unsigned int | size () const |
Возвращает количество элементов в индексе. | |
Методы, предназначенные для slice_image_base_t. | |
virtual void | on_clear () |
virtual void | on_insert (const oess_1::ent_id_t &id, const oess_1::stdsn::serializable_t &o) |
virtual void | on_erase (const oess_1::ent_id_t &id) |
virtual void | on_update (const oess_1::ent_id_t &id, const oess_1::stdsn::serializable_t &o) |
virtual void | on_attach () |
virtual void | on_detach () |
Закрытые типы | |
typedef std::multimap< Key, oess_1::ent_id_t > | key_map_t |
идентификатором объекта в БД. | |
typedef std::map< oess_1::ent_id_t, Key > | id_map_t |
и ключами объектов. | |
Закрытые члены | |
void | insert_pair (const Key &k, const oess_1::ent_id_t &id) |
Добавить значение в карту значений. | |
void | remove_pair (const Key &k, const oess_1::ent_id_t &id) |
Удалить значение из карты значений с учетом идентификатора объекта. | |
Закрытые данные | |
slice_image_iface_t< Item > * | m_slice |
Образ раздела, с которым производится работа. | |
key_map_t | m_keys |
Карта соответствия значений ключей и идентификаторов объектов. | |
id_map_t | m_ids |
Карта соответствия идентификаторов объектов ключам. | |
Key_extractor | m_key_extractor |
Извлекатель ключей из объектов. | |
Классы | |
class | const_iterator |
Класс константного итератора. Подробнее... | |
class | iterator |
Класс итератора. Подробнее... |
slice_nonunique_index_t | ( | slice_image_iface_t< Item > & | slice, | |
const Key_extractor & | key_extractor, | |||
unsigned int | attach_flags = 0 | |||
) | [inline] |
сразу привязывает индекс к образу раздела.
key_extractor | Извлекатель ключей из объекта. |
attach_flags | Набор битовых флагов, которые будут переданы в метод slice_image_base_t::attach(). |
void erase | ( | const Key & | o | ) | [inline] |
Удаление объекта из индекса и из раздела.
Удаляются все объекты, владеющие данным ключем.
Удаление объекта оказывает воздействие на все активные индексы текущего раздела.
void erase | ( | const iterator & | it | ) | [inline] |
Удаление объекта из индекса и из раздела.
Удаление объекта оказывает воздействие на все активные индексы текущего раздела.
const_iterator find | ( | const Key & | o | ) | const [inline] |
Найти объект по ключу.
Возвращает указатель за последний элемент, если искомый элемент не найден.
iterator find | ( | const Key & | o | ) | [inline] |
Найти объект по ключу.
Возвращает указатель за последний элемент, если искомый элемент не найден.
const_iterator lower_bound | ( | const Key & | o | ) | const [inline] |
Найти нижнюю границу.
Возвращается итератор на первый элемент индекса, который не меньше указанного ключа.
Если такого элемента нет, возвращается end().
iterator lower_bound | ( | const Key & | o | ) | [inline] |
Найти нижнюю границу.
Возвращается итератор на первый элемент индекса, который не меньше указанного ключа.
Если такого элемента нет, возвращается end().
virtual void on_attach | ( | ) | [inline, virtual] |
Обработчик связывания индекса с образом раздела.
Замещает slice_index_base_t.
virtual void on_clear | ( | ) | [inline, virtual] |
Обработчик очистки содержимого индекса в ОП.
Замещает slice_index_base_t.
virtual void on_detach | ( | ) | [inline, virtual] |
Обработчик отвязывания индекса от образа раздела.
Замещает slice_index_base_t.
virtual void on_erase | ( | const oess_1::ent_id_t & | id | ) | [inline, virtual] |
Обработчик удаления объекта из раздела.
Замещает slice_index_base_t.
virtual void on_insert | ( | const oess_1::ent_id_t & | id, | |
const oess_1::stdsn::serializable_t & | o | |||
) | [inline, virtual] |
Обработчик добавления объекта в раздел. Так же вызывается для каждого объекта раздела при связывании индекса с образом раздела.
Замещает slice_index_base_t.
virtual void on_update | ( | const oess_1::ent_id_t & | id, | |
const oess_1::stdsn::serializable_t & | o | |||
) | [inline, virtual] |
Обработчик изменения значения объекта в разделе.
Замещает slice_index_base_t.
const_iterator upper_bound | ( | const Key & | o | ) | const [inline] |
Найти нижнюю границу.
Возвращается итератор на первый элемент индекса, который строго больше указанного ключа.
Если такого элемента нет, возвращается end().
iterator upper_bound | ( | const Key & | o | ) | [inline] |
Найти верхнюю границу.
Возвращается итератор на первый элемент индекса, который строго больше указанного ключа.
Если такого элемента нет, возвращается end().