Я знаю, что предложение C++ Concepts предназначено, возможно, среди прочего, для наложения ограничений на параметры шаблона (скажем, на «последовательность») в текущей ситуации, в которой все, что удается скомпилировать, достаточно хорошо (и сообщения об ошибках ужасны ).
Но как насчет пространств имен? Я имею в виду, что в настоящее время мы не можем использовать их в качестве параметров шаблона, но можно подумать, что если метод использует только статические методы и члены класса, то пространство имен также должно быть удовлетворительным для передачи ему. Поддерживает ли это текущая версия / текущие реализации предложения по концепциям? Если нет, было ли это рассмотрено и отклонено или просто не рассмотрено?
Связанный вопрос:
namespace
— это механизм предоставления имен (классов, функций, переменных, перечислений и т. д.) для предотвращения конфликтов. Я сомневаюсь, что абстракцияnamespace
когда-либо трансформируется в точку, где она сможет удовлетворитьConcept
. - person R Sahu   schedule 25.08.2017x
,y
иz
внутриnamespace foo {...}
, эти переменные не будут принадлежать пространству имен. Только их имена принадлежат пространству имен. Пространства имен — это всего лишь уловка, которая избавляет меня от необходимости везде вводитьFoo_x
,Foo_y
иFoo_z
. - person Solomon Slow   schedule 26.08.2017