/
githubmirror
/
omim
Обзор
Документация
Войти
/
githubmirror
/
omim
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
indexer/tree_structure.hpp
49 строк
819 B
tatiana-yan
[indexer] Style & includes
30 июл 2018, 19:26
30 июл 2018, 19:26
0e889ff
Код
Авторство
О чём код?
#pragma once #include "base/assert.hpp" #include <iostream> #include <string> namespace tree { template <class ToDo> bool LoadTreeAsText(std::istream & s, ToDo & toDo) { std::string name; s >> name; ASSERT ( !name.empty(), ("Error in classificator file") ); if (name == "{}") return false; // set key name toDo.Name(name); // load object itself std::string strkey; s >> strkey; while (strkey != "+" && strkey != "-") s >> strkey; // load children if (strkey == "+") { size_t i = 0; while (true) { toDo.Start(i++); bool const isContinue = LoadTreeAsText(s, toDo); toDo.End(); if (!isContinue) { toDo.EndChilds(); break; } } ASSERT ( i <= 128, ("too many features at level = ", name) ); } return true; } }