
That looks a lot like a cast, though the type doesn't change in your design, > so naming it something like "endian_cast" is not unreasonable.
Since the type isn't supposed to change, I don't like the cast<> idea too much. But let me sit on it.
Otherwise, swap_in_place<>() could be named "swap" while your swap<>() could be named something like "swapped_copy."
These are good names - I might steal them ;) <snip> I'll look at the link but I can't access the site from work - I'll look when I get home. <snip>
That is, something like the following might be possible:
template <class E, class T> typename swapped_floating_point<T> endian_cast(T);
template <class E, class T> T endian_cast(typename swapped_floating_point<T>);
I suggested this in the earlier thread but no one took the bait. However, I think it's not a panacea. We can restrict the interface as discussed to begin with; this functionality can be added later, since it won't break anything. Tom