Ищите специальную структуру данных для сопоставления файла конфигурации на основе INI - PullRequest
0 голосов
/ 27 марта 2012

Я ищу хорошую структуру данных для хранения простого сопоставления значения ключа, но с специальная ключевая конструкция на месте.

Ключ определяется как раздел + группа + ключевое слово, и эти значения представляют некоторый Ini-подобный формат:

[section]  
    (group)  
        keyword = value

По определению должно быть возможно найти требуемое значение с помощью - раздел, группа и ключевое слово в качестве ключа - группа и ключевое слово в качестве ключа - ключевое слово как ключ

Я подумал об использовании QHash, где я мог бы добавить следующие ключи в hasmap: - раздел | группа | ключевое слово - группа | ключевое слово - ключевое слово

Но это будет означать, что я использую три ключа для одного и того же значения. Есть ли лучшие способы сделать это в отношении потраченной памяти?

Спасибо

1 Ответ

0 голосов
/ 28 марта 2012

QSettings уже поддерживает это, но по-другому. Вы можете определить любую комбинацию / разделенных текстов, чтобы создать комбинацию групп / подгрупп / ключей. Но если это «какой-то оригинальный формат, который уже существует», я бы предложил написать свой собственный формат QSettings и зарегистрировать его в QSettings :: registerFormat. Это должно быть довольно легкой задачей, и это меньше работы, чем написание целого класса для чтения / управления таким форматом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...