c++ - How can I implement a class which can be constructed with an input iterator? -


the std::vector class has convenient constructor allows input iterator parameter. implement similar pattern in own class, because class needs take in collection when instantiated, have iterator on collection encapsulation purposes. 1 way thought of template-ing whole class input iterator type, can't stl does, because vector templated type being iterated over. of course, 1 option templated generator function, i'd know how it's done compilers implement stl - somehow, inputiterator type typename specific constructor, if constructors can't templated.

(yes, have tried @ vector.tpp not understand it).

your class should have templated constructor (templated on iterator type):

class my_class {      template <typename inputiterator>     my_class(inputiterator first, inputiterator last) {         // ...     }      // ... }; 

Comments

Popular posts from this blog

image - ClassNotFoundException when add a prebuilt apk into system.img in android -

I need to import mysql 5.1 to 5.5? -

Java, Hibernate, MySQL - store UTC date-time -