Injetar namespace experimental em std
É um pacote ruim ou bom injetar espaço para nomestd::experimental
para dentrostd
gosta de seguir?
namespace std
{
namespace experimental
{
}
using namespace experimental;
}
#include <experimental/optional>
int main()
{
std::optional< int > o;
return 0;
}
Ou mesmo de forma mais moderna:
#if __has_include(<optional>)
# include <optional>
#elif __has_include(<experimental/optional>)
# include <experimental/optional>
namespace std
{
using namespace experimental;
}
#else
#error !
#endif
int main()
{
std::optional< int > o;
return 0;
}
A intenção de introduzirstd::experimental
"sub-namespace" é claro porquestd::experimental
atualmente contémuma abundância deNovo bibliotecas. Eu acho que é muito provável que todos eles migrem paranamespace std
sem alterações substanciais e o código do usuário gravado atualmente pode contar com isso (estou totalmente errado?). Caso contrário, todo esse código deve ser refatorado para mudar destd::experimental::
parastd::
no futuro. Não é grande coisa, mas pode haver razões para não fazê-lo.
A questão é sobre o código de produção e o código não muito sério.