Conventions d’appellation C++/WinRT

C++/WinRT a établi les conventions d’affectation de noms suivantes :

  • L’espace de noms winrt ::impl est réservé à C++/WinRT et vous ne devez pas l’utiliser dans votre application.
  • Dans l’espace de noms winrt , les noms commençant par une lettre minuscule appartiennent à C++/WinRT, mais vous pouvez les utiliser dans votre application. La documentation indique les noms que vous pouvez surcharger ou spécialiser. Par exemple, votre application est autorisée à spécialiser le modèle de fonction winrt ::is_guid_of .
  • Dans les sous-espaces de noms de l’espace de noms winrt (à l’exception de winrt ::impl), les noms commençant par une lettre majuscule sont disponibles pour votre application.
  • Dans tous les espaces de noms, les noms commençant par WINRT_IMPL_ sont réservés à C++/WinRT et vous ne devez pas les utiliser dans votre application.
  • Dans tous les espaces de noms, les noms commençant par WINRT_ (sauf ceux commençant par WINRT_IMPL_) sont réservés à C++/WinRT. Vous pouvez les utiliser et la documentation appelle ces noms qui peuvent être définis par votre application, tels que WINRT_LEAN_AND_MEAN.

Il est courant pour les applications d’effectuer une composition d’espace de noms et d’importer des sous-espaces de noms de l’espace de noms racine winrt dans l’espace de noms racine winrt :

namespace winrt
{
    using namespace winrt::Windows::Foundation;
}

Par conséquent, votre application doit respecter les conventions d’affectation de noms ci-dessus dans les sous-espaces de noms de l’espace de noms winrt .

Voici un résumé.

Namespace Name Les applications peuvent définir Les applications peuvent utiliser
winrt ::impl N'importe quel No No
winrt et sous-espaces de noms (sauf impl) Commence par une lettre minuscule No Yes
winrt et sous-espaces de noms (sauf impl) Commence par une lettre majuscule Yes Yes
N'importe quel WINRT_IMPL_* No No
N'importe quel WINRT_* (sauf WINRT_IMPL_*) Case-by-case Yes