Antworten here und here sind so ziemlich was ich brauche. Aber ich mag in der Lage sein, Sequenzen zu erzeugen, wie:Kompilierzeit Generate Integer-Sequenz mit einem ausgelassen
gen_seq<5, 2> // {0, 1, 3, 4}
gen_seq<3, 0> // {1, 2}
// optional behavior that would be useful for me:
gen_seq<4, 4> // {0, 1, 2, 3}
In den Beispielen I gen_seq verwendet, um eine Sequenz von 0 bis N-1 ohne I. zu erzeugen Dies ist nicht zwingend notwendig, würde ich auch in Ordnung sein mit gen_seq wobei N die Länge der Sequenz und I der fehlende Index oder andere Varianten sind.
Ich denke, das meiste des Problems ist bereits in den verknüpften Fragen beantwortet. Allerdings kann ich nicht wirklich sagen, wie man die Bedingung "leave this one out" für den zweiten Parameter einbaut.
Idealerweise würde ich gerne an C++ 11 Funktionen bleiben und C++ 14 vermeiden. Elegante und besonders lesbare Soulutions mit C++ 14 könnten aber auch sehr interessant sein.