This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: V3 PATCH: Fix const-correctness in use of iconv
On Nov 9, 2000, Mark Mitchell <mark@codesourcery.com> wrote:
> I think it may actually be better to autoconf this.
How about using the template function adaptor pattern (as I call it :-)
template <typename T>
inline size_t __iconv_adaptor
(size_t (*iconv_func)(iconv_t, T, size_t *, char**,size_t*),
iconv_t cd, char **inbuf, size_t *inbytesleft,
char **outbuf, size_t *outbytesleft)
{
return iconv_func (cd, (T)inbuf, inbytesleft, outbuf, outbytesleft);
}
Then, instead of calling iconv, we call __iconv_adaptor(iconv, ...),
and let g++ figure out the right type to use based on the declaration
of iconv. No autoconf magic needed :-)
We've been using this technique in libgcj for a while, and it's been
working wonderfully.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me