std map without default constructor