Соглашения об именовании для 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_*) | Зависит от конкретного случая. | Да |