Насколько безопасно и законно использовать функции std::experimental в публичной библиотеке?

Предположим, я пишу библиотеку, предназначенную для компиляторов с поддержкой C++14.

В C++14 несколько стандартных библиотечных средств были введены как экспериментальные, например optional а также filesystem.

Это:

  1. безопасно (для последующих разработчиков)
  2. законный

Могу ли я использовать эти функции в моей библиотеке, даже если поддерживается только C++14? например, в форме

#if __cplusplus >= 201703L
#include <optional>
namespace mylib {
using std::optional;
using std::nullopt;
}
#else
static_assert(__cplusplus >= 201402L, "C++2014 is required to compile this program");
#include <experimental/optional>
namespace mylib {
using std::experimental::optional;
using std::experimental::nullopt;
}
#endif

Примечание. Конечно, я имею в виду, что последующие разработчики должны сами использовать эти функции, а не только в том случае, когда я использую их только внутри компании, без внешнего воздействия.

0 ответов

Другие вопросы по тегам