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 |