Compartilhar via


Convenções de nomenclatura do C++/WinRT

O C++/WinRT estabeleceu as seguintes convenções de nomenclatura:

  • O namespace winrt::impl é reservado para o C++/WinRT e você não deve usá-lo no aplicativo.
  • No namespace winrt, nomes que começam com uma letra minúscula pertencem ao C++/WinRT, mas você pode usá-los no aplicativo. A documentação destaca os nomes que você pode sobrecarregar ou especializar. Por exemplo, seu aplicativo tem permissão para especializar o modelo de função winrt::is_guid_of.
  • Em namespaces secundários do namespace winrt (exceto por winrt::impl), nomes que começam com uma letra maiúscula estão disponíveis para seu aplicativo.
  • Em todos os namespaces, nomes que começam com WINRT_IMPL_ são reservados para o C++/WinRT e você não deve usá-los em seu aplicativo.
  • Em todos os namespaces, nomes que começam com WINRT_ (exceto por aqueles que começam com WINRT_IMPL_ ) são reservados para o C++/WinRT. Você pode usá-los e a documentação destaca esses nomes que podem ser definidos por seu aplicativo, como WINRT_LEAN_AND_MEAN.

É comum que os aplicativos executem a composição do namespace e importem namespaces secundários do namespace raiz winrt para o namespace raiz winrt:

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

Portanto, seu aplicativo deve seguir as convenções de nomenclatura acima nos namespaces secundários do namespace winrt.

Aqui está um resumo.

Namespace Nome Os aplicativos podem definir Os aplicativos podem usar
winrt::impl Qualquer Não Não
winrt e namespaces secundários (exceto por impl) Começa com letra minúscula Não Sim
winrt e namespaces secundários (exceto por impl) Começa com letra maiúscula Sim Sim
Qualquer WINRT_IMPL_* Não Não
Qualquer WINRT_* (exceto por WINRT_IMPL_*) Caso a caso Sim