#include <iterator>
#include <iostream>
void vector_ctor(size_t n, int element)
{
std::cout << "constructing from size\n";
}
template <class I,
typename std::enable_if<not std::is_convertible<I, int>::value, int>::type = 0>
void vector_ctor(I begin, I end)
{
std::cout << "iterators indeed!\n";
}
int main()
{
vector_ctor(static_cast<size_t>(1), 1);
std::cout << '\n';
vector_ctor(1, 1);
std::cout << '\n';
int d;
vector_ctor(&d, &d);
std::cout << '\n';
}
I2luY2x1ZGUgPGl0ZXJhdG9yPiAKI2luY2x1ZGUgPGlvc3RyZWFtPiAKICAKdm9pZCB2ZWN0b3JfY3RvcihzaXplX3QgbiwgaW50IGVsZW1lbnQpIAp7IAogICAgc3RkOjpjb3V0IDw8ICJjb25zdHJ1Y3RpbmcgZnJvbSBzaXplXG4iOyAKfSAKICAKdGVtcGxhdGUgPGNsYXNzIEksIAogICAgdHlwZW5hbWUgc3RkOjplbmFibGVfaWY8bm90IHN0ZDo6aXNfY29udmVydGlibGU8SSwgaW50Pjo6dmFsdWUsIGludD46OnR5cGUgPSAwPiAKdm9pZCB2ZWN0b3JfY3RvcihJIGJlZ2luLCBJIGVuZCkgCnsgCiAgICBzdGQ6OmNvdXQgPDwgIml0ZXJhdG9ycyBpbmRlZWQhXG4iOyAKfSAKICAKaW50IG1haW4oKSAKeyAKICAgIHZlY3Rvcl9jdG9yKHN0YXRpY19jYXN0PHNpemVfdD4oMSksIDEpOyAKICAgIHN0ZDo6Y291dCA8PCAnXG4nOyAKICAKICAgIHZlY3Rvcl9jdG9yKDEsIDEpOyAKICAgIHN0ZDo6Y291dCA8PCAnXG4nOyAKICAKICAgIGludCBkOyAKICAgIHZlY3Rvcl9jdG9yKCZkLCAmZCk7IAogICAgc3RkOjpjb3V0IDw8ICdcbic7IAp9