Beispiel #1
0
_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());
}
Beispiel #2
0
	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);
	}