template<class Alloc>
flat_map(const key_container_type& key_cont, const mapped_container_type& mapped_cont,
const Alloc& a);
template<class Alloc>
flat_map(const key_container_type& key_cont, const mapped_container_type& mapped_cont,
const key_compare& comp, const Alloc& a);
template<class Alloc>
flat_map(sorted_unique_t s, const key_container_type& key_cont,
const mapped_container_type& mapped_cont, const Alloc& a);
template<class Alloc>
flat_map(sorted_unique_t s, const key_container_type& key_cont,
const mapped_container_type& mapped_cont, const key_compare& comp,
const Alloc& a);
template<class Alloc>
explicit flat_map(const Alloc& a);
template<class Alloc>
flat_map(const key_compare& comp, const Alloc& a);
template<class Alloc>
flat_map(const flat_map&, const Alloc& a);
template<class Alloc>
flat_map(flat_map&&, const Alloc& a);
template<class InputIterator, class Alloc>
flat_map(InputIterator first, InputIterator last, const Alloc& a);
template<class InputIterator, class Alloc>
flat_map(InputIterator first, InputIterator last, const key_compare& comp, const Alloc& a);
template<class InputIterator, class Alloc>
flat_map(sorted_unique_t, InputIterator first, InputIterator last, const Alloc& a);
template<class InputIterator, class Alloc>
flat_map(sorted_unique_t, InputIterator first, InputIterator last,
const key_compare& comp, const Alloc& a);
template<container-compatible-range<value_type> R, class Alloc>
flat_map(from_range_t, R&& rg, const Alloc& a);
template<container-compatible-range<value_type> R, class Alloc>
flat_map(from_range_t, R&& rg, const key_compare& comp, const Alloc& a);
template<class Alloc>
flat_map(initializer_list<value_type> il, const Alloc& a);
template<class Alloc>
flat_map(initializer_list<value_type> il, const key_compare& comp, const Alloc& a);
template<class Alloc>
flat_map(sorted_unique_t, initializer_list<value_type> il, const Alloc& a);
template<class Alloc>
flat_map(sorted_unique_t, initializer_list<value_type> il,
const key_compare& comp, const Alloc& a);