Поделиться через


Соглашения об именовании для C++/WinRT

В C++/WinRT используются следующие соглашения об именовании:

  • Пространство имен winrt::impl зарезервировано для C++/WinRT, и его не следует использовать в приложении.
  • В пространстве имен winrt имена, которые начинаются с буквы в нижнем регистре, относятся к C++/WinRT, но их можно использовать в приложении. В документации используются те имена, которые можно перегружать или специализировать. Например, приложению разрешается специализировать шаблон функции winrt::is_guid_of.
  • Во вложенных пространствах имен пространства имен winrt (за исключением winrt::impl) вашему приложению доступны имена, которые начинаются с прописной буквы.
  • Во всех пространствах имен имена, которые начинаются с WINRT_IMPL_, зарезервированы для C++/WinRT, и их не следует использовать в приложении.
  • Во всех пространствах имен имена, которые начинаются с WINRT_ (за исключением тех, которые начинаются с WINRT_IMPL_), зарезервированы для C++/WinRT. Вы можете использовать их, и в документации указаны те имена, которые могут быть определены приложением, например WINRT_LEAN_AND_MEAN.

Приложения обычно выполняют объединение пространства имен и импортируют вложенные пространства имен, входящие в корневое пространство имен winrt, в корневое пространство имен winrt:

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

Поэтому приложение должно соответствовать соглашениям об именовании, приведенным выше, во вложенных пространствах имен, входящих в пространство имен winrt.

Ниже представлен их список.

Пространство имен Имя. Приложения могут определять Приложения могут использовать
winrt::impl Любое No No
winrt и вложенное пространство имен (за исключением impl) Начинается со строчной буквы. No Да
winrt и вложенное пространство имен (за исключением impl) Начинается с прописной буквы. Да Да
Любое WINRT_IMPL_* No No
Любое WINRT_* (кроме WINRT_IMPL_*) Зависит от конкретного случая. Да