Сообщение Re: Контейнер типа вектора, но с поиском по ключу от 02.09.2025 20:55
Изменено 02.09.2025 20:59 vdimas
Re: Контейнер типа вектора, но с поиском по ключу
Здравствуйте, Marty, Вы писали:
M>Ключ обычно лежит в самих элементах в виде поля string name;
Тогда буст-мутииндекс, если ключ располагается в самом объекте.
M>ЗЫ Мне нужно хранить различные дефиниции моего мега DSL языка.
Насколько я понял, порядковый номер нужен редко или даже однократно?
Тогда для каждой дефиниции добавить целочисленное поле и хранить в нём значение монотонного счётчика, которое для каждой дефиниции начинается с 0-ля.
Ну и, когда надо будет — построить map по этому индексу (т.е. отсортировать элементы) и пройтись затем по ним в исходном порядке.
Тут смысл в том, чтобы не хранить данные во некоем вспомогательном контейнере, потому что оно не требуется, но усложняет логику.
M>Ключ обычно лежит в самих элементах в виде поля string name;
Тогда буст-мутииндекс, если ключ располагается в самом объекте.
M>ЗЫ Мне нужно хранить различные дефиниции моего мега DSL языка.
Насколько я понял, порядковый номер нужен редко или даже однократно?
Тогда для каждой дефиниции добавить целочисленное поле и хранить в нём значение монотонного счётчика, которое для каждой дефиниции начинается с 0-ля.
Ну и, когда надо будет — построить map по этому индексу (т.е. отсортировать элементы) и пройтись затем по ним в исходном порядке.
Тут смысл в том, чтобы не хранить данные во некоем вспомогательном контейнере, потому что оно не требуется, но усложняет логику.
Re: Контейнер типа вектора, но с поиском по ключу
Здравствуйте, Marty, Вы писали:
M>Ключ обычно лежит в самих элементах в виде поля string name;
Тогда буст-мутииндекс, если ключ располагается в самом объекте.
M>ЗЫ Мне нужно хранить различные дефиниции моего мега DSL языка.
Насколько я понял, порядковый номер нужен редко или даже однократно?
Тогда для каждой дефиниции добавить целочисленное поле и хранить в нём значение монотонного счётчика, которое для каждой дефиниции начинается с 0-ля.
Ну и, когда надо будет — построить map по этому индексу (т.е. отсортировать элементы) и пройтись затем по ним в исходном порядке.
Тут смысл в том, чтобы не хранить данные в некоем вспомогательном контейнере, потому что оно не требуется, но усложняет логику.
M>Ключ обычно лежит в самих элементах в виде поля string name;
Тогда буст-мутииндекс, если ключ располагается в самом объекте.
M>ЗЫ Мне нужно хранить различные дефиниции моего мега DSL языка.
Насколько я понял, порядковый номер нужен редко или даже однократно?
Тогда для каждой дефиниции добавить целочисленное поле и хранить в нём значение монотонного счётчика, которое для каждой дефиниции начинается с 0-ля.
Ну и, когда надо будет — построить map по этому индексу (т.е. отсортировать элементы) и пройтись затем по ним в исходном порядке.
Тут смысл в том, чтобы не хранить данные в некоем вспомогательном контейнере, потому что оно не требуется, но усложняет логику.