Встроенные типы контейнеров #81

Open
opened 2023-03-26 13:13:31 +03:00 by lirent · 2 comments
lirent commented 2023-03-26 13:13:31 +03:00 (Migrated from dev.lirent.ru)
  • Каждый встроенный тип контейнера теперь должен иметь одинаковый размер и структуру в памяти, разделяясь лишь на методы обработки данной памяти.
  • Методы обработки памяти, как и раньше, хранятся отдельно от описываемых структур и ответственность за корректность вызываемой процедуры лежит на пользователе.
  • Часть методов vtype_set подходит vtype_map (типы являются частично совместимыми), следует рассмотреть возможность частичной совместимости между vtype_list и vtype_dict. Последний, в таком случае, должен брать за основу хэш таблицу с открытой адресацией (и, вероятно, реализовываться методом линейного пробирования)
  • Данная задача, также объединяет в себе #75 и #76.
- Каждый встроенный тип контейнера теперь должен иметь одинаковый размер и структуру в памяти, разделяясь лишь на методы обработки данной памяти. - Методы обработки памяти, как и раньше, хранятся отдельно от описываемых структур и ответственность за корректность вызываемой процедуры лежит на пользователе. - Часть методов **vtype_set** подходит **vtype_map** (типы являются частично совместимыми), следует рассмотреть возможность частичной совместимости между **vtype_list** и **vtype_dict**. Последний, в таком случае, должен брать за основу хэш таблицу с открытой адресацией (и, вероятно, реализовываться методом линейного пробирования) - Данная задача, также объединяет в себе #75 и #76.
lirent commented 2023-03-26 15:02:37 +03:00 (Migrated from dev.lirent.ru)

Объединено с #82

Объединено с #82
lirent commented 2023-09-10 00:30:38 +03:00 (Migrated from dev.lirent.ru)

Добавить дополнительные встроенные типы данных (инициализаторы), а именно:

  • Однонаправленный vtype_list (с основанием на начале или конце)
  • Двунаправленный vtype_list, с хранением центра.
  • Основанный на хэш-таблице vtype_set
  • Регистронезависимый vtype_string. При этом, vtype_string должен стать расширенным подмножеством vtype_array, с выбором основания (char, short, int).
  • vtype_string реализованный на базе vtype_list (с основанием int), с целью реализации ускоренной модификации строки.

Объединить типы:

  • vtype_map и vtype_dict, добавить инициализатор для vtype_map основанный на хэш-таблице.

Основанные на хэш-таблицах типы, должны получить вариант реализации, через одномерную область памяти (без вложенных списков).

Также необходима реализация базовых примитивов ввода-вывода для представленных типов.

Добавить дополнительные встроенные типы данных (инициализаторы), а именно: - Однонаправленный **vtype_list** (с основанием на начале или конце) - Двунаправленный **vtype_list**, с хранением центра. - Основанный на хэш-таблице **vtype_set** - Регистронезависимый **vtype_string**. При этом, **vtype_string** должен стать расширенным подмножеством **vtype_array**, с выбором основания (char, short, int). - **vtype_string** реализованный на базе **vtype_list** (с основанием int), с целью реализации ускоренной модификации строки. Объединить типы: - **vtype_map** и **vtype_dict**, добавить инициализатор для **vtype_map** основанный на хэш-таблице. Основанные на хэш-таблицах типы, должны получить вариант реализации, через одномерную область памяти (без вложенных списков). Также необходима реализация базовых примитивов ввода-вывода для представленных типов.
Sign in to join this conversation.
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: c/libcdsb#81
No description provided.