Ich möchte einen Vektor von Paaren zu einer Funktion übergeben. Die tatsächliche Vektorimplementierung sowie die Typen des Paares sollten ein Vorlagenparameter sein.Vektor von Paaren mit generischen Vektor- und Paartyp, Vorlage der Vorlage
Ich dachte an etwas wie folgt aus:
template<uint8_t t_k,
typename t_bv,
typename t_rank,
template <template <template<typename t_x,
typename t_y> class std::pair>
typename t_vector>> typename t_vector>
Die ersten 3 sind andere Template-Parameter. Der letzte Template-Parameter sollte es ermöglichen, einen vector
(std
oder stxxl:vector
) von std::pair
mit entweder uint32_t
oder uint64_t
als Typ des pair.first
und pair.second
zu übergeben.
Oder Sie könnten jede Art so lange ermöglichen, wie es die Methoden hat Sie benötigen (zB 'vec.begin()', 'vec.end()', 'vec.begin(). Erste/second' usw.) – MadScientist
Definieren Sie "tatsächliche Vektorimplementierung". –
ja für den Vektor jeder Typ wäre in Ordnung Ich möchte nur den Typnamen angeben und dass es einen Typparameter std :: pair hat, der type Parameter mit typename t_x und t_y hat –