FreeBSD clang fails to compile code using boost::archive

Compiling the following code:

#include <boost/archive/iterators/base64_from_binary.hpp>
#include <boost/archive/iterators/transform_width.hpp>
#include <boost/archive/iterators/binary_from_base64.hpp>
#include <boost/archive/iterators/transform_width.hpp>
#include <algorithm>

std::string Base64::encode(const char *begin, const char *end)
{
    unsigned int padding_chars = (3 - std::distance(begin, end) % 3) % 3;
    std::string base64 {
            boost::archive::iterators::base64_from_binary< //
this is line 27
                    boost::archive::iterators::transform_width<
                            binary_value::const_iterator, 6, 8>>(
                    begin),
            boost::archive::iterators::base64_from_binary<
                    boost::archive::iterators::transform_width<
                            binary_value::const_iterator, 6, 8>>(
                    end)};
    base64.append(padding_chars, '=');

    return base64;
}

Results in the following error:

$ /usr/bin/c++ -std=gnu++0x -g -Wall -pedantic -Wextra -Wformat=2
-isystem /usr/local/boost/include -isystem /usr/local/include -c
base64.cc
In file included from base64.cc:11:
/usr/local/include/boost/archive/iterators/transform_width.hpp:113:17:
error: calling a private constructor of class
'std::__1::__wrap_iter<const char *>'
        super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))),
                ^
/usr/local/include/boost/archive/iterators/base64_from_binary.hpp:94:13:
note: in instantiation of function template specialization
'boost::archive::iterators::transform_width<std::__1::__wrap_iter<const
char
      *>, 6, 8, char>::transform_width<const char *>' requested here
            Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))),
            ^
base64.cc:27:13: note: in instantiation of function template
specialization 'boost::archive::iterators::base64_from_binary<boost::archive::iterators::transform_width<std::__1::__wrap_iter<const
char *>, 6, 8,
      >, char>::base64_from_binary<const char *>' requested here
            boost::archive::iterators::base64_from_binary<
            ^
/usr/include/c++/v1/iterator:1195:31: note: declared private here
    _LIBCPP_INLINE_VISIBILITY __wrap_iter(iterator_type __x) _NOEXCEPT
: __i(__x) {}
                              ^
1 error generated.

$ c++ -v
FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
Target: x86_64-unknown-freebsd10.0
Thread model: posix

Boost is version 1.55 from ports

The same code is compiled successfully with g++48 version 4.8.3
20140220 (prerelease) (FreeBSD Ports Collection)

What could be the cause of the difference?
Csaba