For anyone who gets fed up with the somewhat verbose syntax involved in populating an STL map container with static arrays of std::pair (Or any of the other somewhat tedious ways of writing 'pair' combinations), here is a function which allows two different (statically allocated) arrays, of equal length, to be used to populate a map by copy-initialisation.
One popular use of STL maps is to create a custom indexed lookup table, where keys and values can be anything (which must obey all the usual STL map key/value rules). This is intended to make the process a little cleaner.
an example is shown in main()