C++/WinRT elnevezési konvenciók

A C++/WinRT a következő elnevezési konvenciókat hozta létre:

  • A winrt::impl névtér a C++/WinRT számára van fenntartva, és nem szabad azt használnia az alkalmazásban.
  • A winrt névtérben a kisbetűvel kezdődő nevek a C++/WinRT függvényhez tartoznak, de használhatja őket az alkalmazásban. A dokumentáció kiemeli azokat a neveket, amelyeket túlterhelhet vagy specializálhat. Az alkalmazás például jogosult a winrt::is_guid_of függvénysablon specializálására.
  • A winrt-névtér alnévtereiben (a winrt::impl kivételével) a nagybetűvel kezdődő nevek elérhetők az alkalmazás számára.
  • Minden névtérben a WINRT_IMPL_ kezdődő nevek a C++/WinRT számára vannak fenntartva, és nem szabad őket használni az alkalmazásban.
  • Az összes névtérben a WINRT_ kezdődő nevek (kivéve azokat, amelyek WINRT_IMPL_ kezdődnek) a C++/WinRT számára vannak fenntartva. Használhatja őket, és a dokumentáció meghívja azokat a neveket, amelyeket az alkalmazás definiálhat, például WINRT_LEAN_AND_MEAN.

Az alkalmazások gyakran végeznek névtérösszetételt, és importálják a winrt gyökérnévtér alnévtereit a winrt gyökérnévtérbe:

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

Ezért az alkalmazásnak be kell tartania a winrt-névtér al-névtereiben a fenti elnevezési konvenciókat.

Íme egy összegzés.

Namespace Name Az alkalmazások meghatározhatnak Az alkalmazások használhatják
winrt::impl Any No No
winrt és alnévterek (a impl kivételével) Kisbetűvel kezdődik No Yes
winrt és alnévterek (a impl kivételével) Nagybetűvel kezdődik Yes Yes
Any WINRT_IMPL_* No No
Any WINRT_* (kivéve WINRT_IMPL_*) Case-by-case Yes