template<typename field, typename sel, typename vec, typename tag, typename... tags>
tk::grm::action<Insert_field<field, sel, vec, tag, tags...>> struct

Convert and insert value to map at position given by tags.

This struct and its apply function are used as a functor-like wrapper for inserting a value into a std::map behind a key in the underlying grammar stack via the member function tk::Control::insert_field. We detect a recently inserted key and its type from the companion tuple field, "selected vector", given by types, sel and vec, and use that key to insert an associated value in a std::map addressed by tag and tags..., requiring at least one tag to address the map. As an example, this is used in parsing parameters associated to a particular random number generator, such as seed. Example input file: "mkl_mcg59 seed 2134 uniform_method accurate end". The selected vector here is the std::vector< tk::ctr::RNGType > under tag::sel (at the second level of the tagged tuple). The std::vector and its member function back() are then interrogated to find out the key type and its value (an enum value) for the particular RNG. This key is then used to insert a new entry in the std::map under tag::param to store the RNG parameter. Client-code is in, e.g., tk::rngsse::seed.