Outils pour utilisateurs

Outils du site


lang:cpp:container

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
lang:cpp:container [2025/03/11 09:15] – Changement du sommaire rootlang:cpp:container [2025/06/30 11:40] (Version actuelle) – [Template] : distinction entre map et unordered_map root
Ligne 51: Ligne 51:
 </code> </code>
  
 +====Template====
 +
 +  * D'un container valeur
 +
 +<code cpp>
 +template <template <typename, typename...> class Container, typename T, typename... Args>
 +void function(const Container<T, Args...>& container);
 +</code>
 +
 +  * D'un container clé / valeur
 +
 +<code cpp>
 +template <template <typename, typename, typename...> class Map, typename Key, typename Value, typename... Args>
 +void function(const Map<Key, Value, Args...>& container);
 +</code>
 +
 +Attention, dans ''Args'', il y a ''%%std::allocator<std::pair<const Key, Value>>%%''. Il n'est pas possible de définir une map en inversant simplement les clés / valeurs avec la définition précédente.
 +
 +Il faut utiliser la version complète:
 +
 +<code cpp>
 +template <typename T, typename U, template <typename> typename Hash,
 +          template <typename> typename CompareTemplate,
 +          template <typename> typename AllocatorTemplate,
 +          template <typename, typename, typename, typename, typename> typename Container>
 +Container<U, T, Hash<U>, CompareTemplate<U>, AllocatorTemplate<std::pair<const U, T>>> invertUnorderedMap(
 +    const Container<T, U, Hash<T>, CompareTemplate<T>, AllocatorTemplate<std::pair<const T, U>>>
 +        &unordered_map)
 +
 +template <typename T, typename U, template <typename> typename CompareTemplate,
 +          template <typename> typename AllocatorTemplate,
 +          template <typename, typename, typename, typename> typename Container>
 +Container<U, T, CompareTemplate<U>, AllocatorTemplate<std::pair<const U, T>>> invertMap(
 +    const Container<T, U, CompareTemplate<T>, AllocatorTemplate<std::pair<const T, U>>> &map)
 +</code>
 =====Spécificités===== =====Spécificités=====
 ====std::vector==== ====std::vector====
lang/cpp/container.1741680916.txt.gz · Dernière modification : de root