id summary reporter owner description type status milestone component version severity resolution keywords cc 642 operator<< for gregorian::date_duration not found zak-k az_sw_dude "{{{ The operator<< for boost::gregorian::date_duration (aka gregorian::days) is not found by name lookup. This appears to be because: * boost::gregorian::date_duration is a typedef to: boost::date_time::date_duration< boost::gregorian::date_duration_rep > where boost::gregorian::date_duration_rep is a typedef to boost::date_time::duration_traits_adapted (defined in date_time/gregorian/greg_duration.hpp) * operator<< for boost::gregorian::date_duration) is defined in the gregorian namespace (defined in date_time/gregorian/gregorian_io.hpp) However, since only the typedef names are in the gregorian namespace, argument-dependent lookup doesn't find it there unless you add: using gregorian::operator<<; to your code, after which the operator works as expected. This occurs for me using both gcc 3.4.5 and 4.0.3, and both with Boost 1.33.1 and current CVS trunk. A possible solution would be to either move the definition of operator<< to the date_time namespace, or pull it into that namespace with a using declaration. I haven't checked all the other gregorian types, but it's possible that similer problems exist. }}}" Bugs closed date_time None Problem fixed