struct channels_t { std::map channelNames; }; struct replace_t { std::map>> replacers; }; struct alternative_t { std::string val = ""; double freq = 1.0; std::map channels; }; struct node_t { std::string name; int argc; bool variadic; std::vector alternatives; }; struct datafile_t { channels_t ch; replace_t replace; std::vector nodes; };