Альтернативные реализации STL в C ++ 11 и выше

Со временем появились различные альтернативные реализации STL *, такие как STLPort. Некоторые крупные корпорации также используют свой собственный внутренний порт STL для различных целей.

С C ++ 03 можно написать порт STL, используя только переносимые функции языка C ++, что означает, что любой соответствующий компилятор должен иметь возможность его компилировать.

Но в C ++ 11 нет определенных функций, которые требуюткомпилятор служба поддержки?

Например, я не вижу, какstd::is_standard_layout может быть реализован с использованием только возможностей языка C ++. думаюstd::is_base_of может быть реализовано с точки зренияstd::is_convertible, используя базовые и производные указатели. Но я не могу себе представить, какstd::is_standard_layout может быть реализовано. Могут быть и другие особенности, которые мне не приходили в голову.

Итак, я прав здесь? Разве невозможно написать полный порт стандартной библиотеки в C ++ 11, используятолько Особенности языка C ++?

* Я знаю, что STL и «стандартная библиотека C ++» не являются строго взаимозаменяемыми, но в данном случае я имею в виду стандартный библиотеку C ++.

Ответы на вопрос(1)

Ваш ответ на вопрос