David B. Held" wrote >"Jeremy Siek" <[EMAIL PROTECTED]> wrote in message >> [...] >> However, did he want the exact interface as boost::array? If so, I'd >> say we need a new class called ptr_array that adapts a pointer >> and a size into an array.
>Or perhaps a policy-based smart pointer with an array-wrapping >policy and boost::array-like interface? ;) If the OP is using gcc 3.3, >I might be able to provide exactly such a beast. >Dave Dave Gomboc wrote: >> const int array[] = {1, 2, 3, 4}; >> std::copy(array, array + 4, ...); >> Actually this suits my current need. It compiles in my environment. Does this mean its universally OK?. I thought I had seen something like this before but couldn't find it in any of my references so I had been trying something variations on: const int array[] = {1, 2, 3, 4}; std::copy(array.begin(), array.end(), ...); without success - which of course makes sense. which led me to boost::array. This I found unsuitable because of the extra copy. I was also unenthusiastic about the intialization syntax. So now my immediate problem is addressed. However, now I've got a couple of questions raised by the responses. Presumably boost::array was motivated by the desire to make an array look like a container - which is what I wanted. I found it unsatisfactory because of the copying. Would it not be interesting to make an equivalent that would take either an array reference or a pointer and give it a ful container like interface so that one could do something like: const int array[] = {1, 2, 3, 4}; boost::container_facade<int> cfa(array); std::copy(cfa.begin(), cfa.end(), ...); so that an array or pointer could be used anywhere a container can be used? I think it would be a relative easy task given that boost::array already provides the interface. In fact, just factoring boost::array into two layers (one to provide the common interface) and one to provide different constuctors an array or array reference member might do the trick. Just a suggestion. Robert Ramey _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost