This doesn't work:

        using namespace boost::filesystem;
        copy_file(tmpFileName,fname,copy_option::overwrite_if_exists);

error: no matching function for call to ‘copy_file(std::string&, std::string&, boost::filesystem::copy_option::enum_type)’

/fs/tools/L1/boost_1_43_0/boost/filesystem/operations.hpp:742: note: candidates are: void boost::filesystem::copy_file(const boost::filesystem::path&, const boost::filesystem::path&)

/fs/tools/L1/boost_1_43_0/boost/filesystem/operations.hpp:744: note:                 void boost::filesystem::copy_file(const boost::filesystem::wpath&, const boost::filesystem::wpath&)

This does:

        detail::copy_file_api(tmpFileName,fname,        copy_option::overwrite_if_exists);

Platform is Linux+gcc. It looks like these definitions are the only ones exposed:

    inline void copy_file( const path & from_path, const path & to_path )
      { return copy_file<path>( from_path, to_path ); }
    inline void copy_file( const wpath & from_path, const wpath & to_path )
      { return copy_file<wpath>( from_path, to_path ); }


This doesn't fly either though:
        copy_file<std::string>(tmpFileName,fname,copy_option::overwrite_if_exists);

The version I'm after is there:
http://www.boost.org/doc/libs/1_43_0/libs/filesystem/doc/reference.html

It would be nice to have a move/rename with this functionality.  I'm going to stick with std::rename().