_OutputIter time_put<_Ch,_OutputIter>::do_put(_OutputIter __s, ios_base& __f, _Ch /* __fill */ , const tm* __tmb, char __format, char __modifier ) const { char __buf[64]; char * __iend = __write_formatted_time(__buf, __format, __modifier, _M_timeinfo, __tmb); // locale __loc = __f.getloc(); return __put_time(__buf, __iend, __s, __f, _Ch()); }
std::basic_string<_Ch> locate_imple(const _Entity& entity) { std::basic_string<_Ch> result; auto parents = parents_impl<const _Entity, _Ch>::execute(entity, false); if(parents.empty()) { result.append(1, _Ch('/')); }else{ for(auto it = parents.rbegin(); it != parents.rend(); ++it) { result.append((*it)->name(), (*it)->name_size()); result.append(1, _Ch('/')); } } // Check if the entity is an attribute if(traits::is_attribute_type<_Entity>::value #ifndef _RXML_TYPE_CHECK_HACK /* * Use this hack to check if entity is an attribute. * Quite likely type() is 0 (no previous attribute) or higher then node_pi (there is a previous attribute) if * entity is an attribute. Only problem is that type() might be 0, if entity is the document node. * In this case we are wrong... but never mind... */ || (traits::is_base_type<_Entity>::value && ( static_cast<const rapidxml::xml_node<_Ch>&>(entity).type() > rapidxml::node_pi || static_cast<const rapidxml::xml_node<_Ch>&>(entity).type() == rapidxml::node_document) ) #endif ) result.back() = _Ch(':'); result.append(entity.name(), entity.name_size()); return std::move(result); }