Konvensi penamaan C++/WinRT

C++/WinRT telah menetapkan konvensi penamaan berikut:

  • Namespace winrt::impl dicadangkan untuk C++/WinRT, dan Anda tidak boleh menggunakannya dalam aplikasi Anda.
  • Di namespace winrt , nama yang dimulai dengan huruf kecil milik C++/WinRT, tetapi Anda dapat menggunakannya dalam aplikasi Anda. Dokumentasi tersebut secara khusus menyebutkan nama-nama yang dapat Anda dioverload atau dispesialisasi. Misalnya, aplikasi Anda diizinkan untuk mengkhususkan templat fungsi winrt::is_guid_of .
  • Di sub-namespace namespace winrt (kecuali winrt::impl), nama yang dimulai dengan huruf besar tersedia untuk aplikasi Anda.
  • Di semua namespace, nama yang dimulai dengan WINRT_IMPL_ dicadangkan untuk C++/WinRT, dan Anda tidak boleh menggunakannya di aplikasi Anda.
  • Di semua namespace, nama yang dimulai dengan WINRT_ (kecuali yang dimulai dengan WINRT_IMPL_) dicadangkan untuk C++/WinRT. Anda dapat menggunakannya, dan dokumentasi memanggil nama-nama yang mungkin ditentukan oleh aplikasi Anda, seperti WINRT_LEAN_AND_MEAN.

Aplikasi lazim melakukan komposisi namespace dan mengimpor subnamespace dari namespace akar winrt ke dalam namespace akar winrt:

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

Oleh karena itu, aplikasi Anda harus mematuhi konvensi penamaan di atas dalam sub-namespace dari namespace winrt.

Berikut ringkasannya.

Namespace Name Aplikasi dapat menentukan Aplikasi dapat menggunakan
winrt::impl Any No No
winrt dan sub-namespace (kecuali impl) Dimulai dengan huruf kecil No Yes
winrt dan sub-namespace (kecuali impl) Dimulai dengan huruf besar Yes Yes
Any WINRT_IMPL_* No No
Any WINRT_* (kecuali WINRT_IMPL_*) Kasus per kasus Yes