Studio 12.6 imposes a limit of 255 elements in std::index_sequence.
Trying to use more elements leads exeeds template nesting depth in the compiler.
#include <utility>
using seq = std::make_index_sequence<256>;
Error:
"developerstudio12.6/lib/compilers/CC-gcc/include/c++/5.4.0/utility", line 215: Error: Templates nested too deeply (recursively?).
"developerstudio12.6/lib/compilers/CC-gcc/include/c++/5.4.0/utility", line 215: Where: While specializing "std::_Index_tuple<>".
"developerstudio12.6/lib/compilers/CC-gcc/include/c++/5.4.0/utility", line 215: Where: Specialized in std::_Build_index_tuple<...>.
"developerstudio12.6/lib/compilers/CC-gcc/include/c++/5.4.0/utility", line 215: Where: Specialized in std::_Build_index_tuple<...>.
"developerstudio12.6/lib/compilers/CC-gcc/include/c++/5.4.0/utility", line 215: Information: 254 contexts omitted.
..... many other similar messages
Seems like the implementation is linear which makes index_sequence of little use for things like processing compile-time string constants.
I have a library which encodes strings with template<char...> and I use it for building SQL queries at compile time. The resulting strings easily get over 255 characters and the processing requires using std::index_sequence.
With Studio 12.5 I used my own implementation of make_index_sequence (12.5 does not support index_sequence even with -std=c++14) but wanted to use library version with 12.6 as it is available. Seems like it is currently of no use for similar purposes as mine.