How to compute all permutations between a map of strings to ints
===

Basically, I want to create all possible mappings of a vector of strings to a vector of ints.  I have the following:

    std::vector<std::string> my_strings;
    std::vector<unsigned int> my_ints;
    my_strings.size() = 20; // not code, just for demonstration.
    my_ints.size() = 4; // not code, just for demonstration.
    
    std::vector<std::map<std::string, unsigned int> > all_possible_joint_mappings;

So, I want to populate `all_possible_joint_mappings` with all possible permutations of `my_strings` to `my_ints`.  What is a good way of accomplishing this?