Металлический и C++ 11

Металлический язык штриховки основывается на C++ 11 Спецификаций [PDF] с определенными расширениями и ограничениями. См. это для подробного описания языковой грамматики.

Этот раздел и его подразделы описывают модификации и ограничения на C++ 11 языков, поддерживаемых на Металлическом языке штриховки.

Для получения дополнительной информации о Металлических директивах предварительной обработки языка штриховки и параметрах компилятора, посмотрите Параметры компилятора.

Перегрузка

Металлические поддержки языка штриховки, перегружающиеся, как определено разделом 13 из C++ 11 Спецификаций. Правила перегрузки функции расширяются для включения спецификатора адресного пространства параметра. Металлическая графика языка штриховки и функции ядра не могут быть перегружены. (Для определения графики и функций ядра, посмотрите Функциональные Спецификаторы.)

Шаблоны

Металлический язык штриховки поддерживает шаблоны, как определено разделом 14 из C++ 11 Спецификаций.

Предварительная обработка директив

Металлический язык штриховки поддерживает директивы предварительной обработки, определенные разделом 16 из C++ 11 Спецификаций.

Ограничения

Следующий C++ 11 функций не доступны на Металлическом языке штриховки (числа раздела в этом списке отсылают к C++ 11 Спецификаций):

Библиотекой стандарта C++ нельзя пользоваться в Металлическом коде языка штриховки. Вместо того, чтобы пользоваться библиотекой стандарта C++, Металл пользуется своей собственной стандартной библиотекой, описанной в Металлической Стандартной Библиотеке.

Металлический язык штриховки ограничивает использование указателей:

Металлическая функция не может быть вызвана main.

Металлическая пиксельная система координат

В Металле источник пиксельной системы координат текстуры или присоединения кадрового буфера определяется в верхнем левом углу.