Zásady vytváření názvů C++/WinRT

C++/WinRT zavedl následující zásady vytváření názvů:

  • Obor názvů winrt::impl je vyhrazený pro C++/WinRT a neměli byste ho používat ve své aplikaci.
  • V oboru názvů winrt názvy začínající malými písmeny patří do C++/WinRT, ale můžete je použít ve své aplikaci. Dokumentace uvádí názvy, které lze přetížit nebo specializovat. Například je vaší aplikaci povoleno specializovat šablonu funkce winrt::is_guid_of.
  • V dílčích oborech názvů oboru názvů winrt (s výjimkou winrt::impl) jsou názvy začínající velkým písmenem dostupné pro vaši aplikaci.
  • Ve všech oborech názvů jsou názvy začínající WINRT_IMPL_ vyhrazeny pro C++/WinRT a neměli byste je ve své aplikaci používat.
  • Ve všech oborech názvů jsou názvy začínající WINRT_ (s výjimkou těch, které začínají WINRT_IMPL_), vyhrazeny pro C++/WinRT. Můžete je použít a dokumentace označuje názvy, které mohou být definovány vaší aplikací, například WINRT_LEAN_AND_MEAN.

Je běžné, že aplikace provádějí složení oboru názvů a importují dílčí obory názvů kořenového oboru názvů winrt do kořenového oboru názvů winrt :

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

Vaše aplikace by proto měla dodržovat výše uvedené zásady pojmenování v dílčích oborech názvů v rámci oboru názvů winrt.

Zde je shrnutí.

Namespace Name Aplikace můžou definovat Aplikace mohou používat
winrt::impl Any No No
winrt a dílčí obory názvů (s výjimkou impl) Začíná malým písmenem. No Yes
winrt a dílčí obory názvů (s výjimkou impl) Začíná velkým písmenem. Yes Yes
Any WINRT_IMPL_* No No
Any WINRT_* (s výjimkou WINRT_IMPL_*) Case-by-case Yes