mirror of
https://github.com/marzer/tomlplusplus.git
synced 2024-10-06 14:59:48 +00:00
Added more explicit control over budget in toml_generator example
This commit is contained in:
parent
11a0e84ced
commit
e19fb41517
@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
#include <iostream>
|
#include <iostream>
|
||||||
|
#include <sstream>
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <ctime>
|
#include <ctime>
|
||||||
#include "utf8_console.h"
|
#include "utf8_console.h"
|
||||||
@ -113,10 +114,16 @@ int main(int argc, char** argv)
|
|||||||
init_utf8_console();
|
init_utf8_console();
|
||||||
srand(static_cast<unsigned int>(time(nullptr)));
|
srand(static_cast<unsigned int>(time(nullptr)));
|
||||||
|
|
||||||
size_t node_budget = 100u;
|
int node_budget{};
|
||||||
for (int i = 1; i < argc; i++)
|
for (int i = 1; i < argc; i++)
|
||||||
if (std::string_view{ argv[i] } == "--many"sv)
|
{
|
||||||
node_budget *= 100u;
|
std::stringstream ss{ argv[i] };
|
||||||
|
int nodes;
|
||||||
|
if ((ss >> nodes))
|
||||||
|
node_budget += nodes;
|
||||||
|
}
|
||||||
|
if (node_budget <= 0)
|
||||||
|
node_budget = 100;
|
||||||
|
|
||||||
toml::table root;
|
toml::table root;
|
||||||
std::vector<toml::node*> tree;
|
std::vector<toml::node*> tree;
|
||||||
@ -145,6 +152,8 @@ int main(int argc, char** argv)
|
|||||||
tree.push_back(new_node);
|
tree.push_back(new_node);
|
||||||
container_min_values = rand(1, 4);
|
container_min_values = rand(1, 4);
|
||||||
in_arr = toml::is_array<decltype(obj)>;
|
in_arr = toml::is_array<decltype(obj)>;
|
||||||
|
if constexpr (toml::is_array<decltype(obj)>)
|
||||||
|
tree.back()->as_array()->reserve(static_cast<size_t>(container_min_values));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
container_min_values--;
|
container_min_values--;
|
||||||
|
Loading…
Reference in New Issue
Block a user