I thought the standard says that you shouldn't do this sort of thing. You're not allowed to extend the std namespace (so, by implication, you shouldn't alter or overload anything defined in it).

To modify one of Paul's questions slightly: Why on earth would you want to override/overload std::endl? As Paul says, write your own manipulator - it's easy enough, Stroustrup has a whole section on it in TC++PL.