当前位置: 首页>>代码示例>>C++>>正文


C++ vector::length方法代码示例

本文整理汇总了C++中typenamestd::vector::length方法的典型用法代码示例。如果您正苦于以下问题:C++ vector::length方法的具体用法?C++ vector::length怎么用?C++ vector::length使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在typenamestd::vector的用法示例。


在下文中一共展示了vector::length方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: DoReplaceStringPlaceholders

OutStringType DoReplaceStringPlaceholders(const FormatStringType& format_string,
	const std::vector<OutStringType>& subst, std::vector<size_t>* offsets) {
	size_t substitutions = subst.size();

	size_t sub_length = 0;
	for (typename std::vector<OutStringType>::const_iterator iter = subst.begin();
		iter != subst.end(); ++iter) {
		sub_length += iter->length();
	}

	OutStringType formatted;
	formatted.reserve(format_string.length() + sub_length);

	std::vector<ReplacementOffset> r_offsets;
	for (typename FormatStringType::const_iterator i = format_string.begin();
		i != format_string.end(); ++i) {
		if ('$' == *i) {
			if (i + 1 != format_string.end()) {
				++i;
				DCHECK('$' == *i || '1' <= *i) << "Invalid placeholder: " << *i;
				if ('$' == *i) {
					while (i != format_string.end() && '$' == *i) {
						formatted.push_back('$');
						++i;
					}
					--i;
				}
				else {
					uintptr_t index = 0;
					while (i != format_string.end() && '0' <= *i && *i <= '9') {
						index *= 10;
						index += *i - '0';
						++i;
					}
					--i;
					index -= 1;
					if (offsets) {
						ReplacementOffset r_offset(index,
							static_cast<int>(formatted.size()));
						r_offsets.insert(std::lower_bound(r_offsets.begin(),
							r_offsets.end(),
							r_offset,
							&CompareParameter),
							r_offset);
					}
					if (index < substitutions)
						formatted.append(subst.at(index));
				}
			}
		}
		else {
			formatted.push_back(*i);
		}
	}
	if (offsets) {
		for (std::vector<ReplacementOffset>::const_iterator i = r_offsets.begin();
			i != r_offsets.end(); ++i) {
			offsets->push_back(i->offset);
		}
	}
	return formatted;
}
开发者ID:623442733,项目名称:cef,代码行数:62,代码来源:string_util.cpp


注:本文中的typenamestd::vector::length方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。