template <typename T>
void put(std::map<std::string, T> const& map, std::string const& variableName, T const& value) {
  map[variableName] = value;

}

void putUint16(std::string const& variableName, uint16 const& value) {
  put(m_Uint16, variableName, value);

}

void putUint32(std::string const& variableName, uint32 const& value) {
  put(m_Uint32, variableName, value);
}

This is the correct solution.
 
Andrew Sutton
andrew.n.sutton@gmail.com