This commit is contained in:
3lswear
2022-02-14 00:31:21 +03:00
parent eaaa126e97
commit 2d44d30740
3 changed files with 14 additions and 14 deletions

View File

@@ -84,7 +84,7 @@ void toml_node::setNil(void)
type = NIL;
}
void toml_node::setObject(TOMLMap *obj)
void toml_node::setObject(TOMLMap &obj)
{
value.map = obj;
type = MAP;

View File

@@ -16,17 +16,17 @@
class toml_node
{
union u_value
struct u_value
{
std::string *str;
std::string str;
int integer;
bool boolean;
/* std::vector<toml_node *> *array; */
TOMLArray *array;
TOMLArray array;
/* std::map<std::string, toml_node *> *map; */
TOMLMap *map;
TOMLMap map;
/* std::vector<std::map<std::string, toml_node> > *map_array; */
TOMLMapArray *map_array;
TOMLMapArray map_array;
} value;
public:

View File

@@ -61,11 +61,11 @@ namespace config
}
toml_node *TOMLParser::parseMap(void)
toml_node TOMLParser::parseMap(void)
{
/* std::cerr << "Parsing map" << std::endl; */
toml_node *node = new toml_node;
TOMLMap *mapObject = new TOMLMap;
toml_node node;
TOMLMap mapObject;
bool completed = false;
while (!completed)
{
@@ -103,24 +103,24 @@ namespace config
case STRING:
{
tokenizer.rollBackToken();
(*mapObject)[key] = parseString();
mapObject[key] = parseString();
break;
}
case OPEN_BRACKET:
{
(*mapObject)[key] = parseArray();
mapObject[key] = parseArray();
break;
}
case NUMBER:
{
tokenizer.rollBackToken();
(*mapObject)[key] = parseNumber();
mapObject[key] = parseNumber();
break;
}
case BOOL:
{
tokenizer.rollBackToken();
(*mapObject)[key] = parseBool();
mapObject[key] = parseBool();
break;
}
case MAPARRAY_DECL:
@@ -153,7 +153,7 @@ namespace config
// throw std::logic_error("parseMap: no more tokens");
// }
}
node->setObject(mapObject);
node.setObject(mapObject);
return (node);
}