#include <iostream>
#include <string>
#include <assert.h>
template <class Chunkedseq>
void pcopy(
typename Chunkedseq::iterator first,
typename Chunkedseq::iterator last,
Chunkedseq& destination) {
using iterator = typename Chunkedseq::iterator;
using ptr = typename Chunkedseq::const_pointer;
const long cutoff = 8192;
long sz = last.size() - first.size();
if (sz <= cutoff) {
destination.pushn_back(lo, hi-lo);
});
} else {
iterator mid = first + (sz/2);
Chunkedseq destination2;
pcopy(first, mid, destination);
pcopy(mid, last, destination2);
destination.concat(destination2);
}
}
int main(
int argc,
const char * argv[]) {
const int chunk_size = 2;
std::cout << "mydeque2 contains:";
auto p = mydeque2.
begin();
while (p != mydeque2.
end())
std::cout << " " << *p++;
std::cout << std::endl;
return 0;
}