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


C++ StringBuilder::Trim方法代码示例

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


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

示例1: XthOf

std::vector<std::string> StringBuilder::tokenise( const std::string &_delimiters ) const
{
	std::vector<std::string> parts;
	size_t i;
	size_t j = 0;
	size_t x = 0;
	StringBuilder sub;
	while( SIZE_T_FAIL != (i = XthOf(x++,_delimiters) ) )
	{
		sub.setTo(*this,j,i-j);
		j = i;
		sub.Trim(_delimiters);
		if( sub.size() > 0 )
		{
			parts.push_back(sub.toString());
		}
	}
	if( j != m_pos )
	{
		sub.setTo(*this,j,m_pos-j);
		sub.Trim(_delimiters);
		if( sub.size() > 0 )
		{
			parts.push_back(sub.toString());
		}
	}
	return parts;
}
开发者ID:JonnyWideFoot,项目名称:pd,代码行数:28,代码来源:stringbuilder.cpp

示例2: readLib

	void RotLibConvert_Dunbrack_BBInd::readLib( const std::string& _LibraryFilename, RotamerLibrary& _RotLib )
	{
		StringBuilder sb;
		std::ifstream* p_torsionFile;
		try
		{
			if( _RotLib.isFinalised() ) 
				throw ProcedureException("readLib() is not allowed, the rotamer library has been finalised, no further import can occur");

			// Mappings for things like HIS -> HIE HID HIP
			_RotLib.addIonisationAliasWorkingDefaults();

			// Make sure Alanine and Glycine are defined non-rotamer residues (the library itself ignores them)
			_RotLib.addAsBlankRotamer("ALA");
			_RotLib.addAsBlankRotamer("GLY");

			p_torsionFile = new std::ifstream(_LibraryFilename.c_str(), std::ifstream::in);
			std::ifstream& torsionFile = *p_torsionFile;
			if( !torsionFile.is_open() ) throw(IOException( "Dunbrack BB-independent torsional definition file not found: '" + _LibraryFilename + "'!" ));
		
			sb << torsionFile;
			ASSERT( sb.size() >= 36 && sb.compare("Backbone-independent rotamer library",0,36,0,false),
				ParseException,
				"The input coordinate file does not appear to be in Dunbrack BB-independent format");

			const char* initLine = "Res Rotamer   n(r1) n(r1234) p(r1234) sig p(r234|r1) sig  chi1 sig      chi2 sig      chi3 sig      chi4  sig";
			int initLineLength = strlen(initLine);

			bool begun = false;
			while( sb << torsionFile )
			{
				if( sb.size() >= initLineLength && 
					sb.compare( initLine, 0, initLineLength, 0 ) )
				{
					begun = true;
					break;
				}
			}
			ASSERT(begun,ParseException,"Unexpected EOF whilst parsing the Dunbrack BB-independent format library");
			sb << torsionFile; // Two blanking lines are present here
			sb << torsionFile; // So eradicate them - mwa ha ha ha!

			while( sb << torsionFile )
			{
				sb.Trim();
				if( sb.size() == 0 ) continue;
				readDefinition( sb, _RotLib );
			}

			// Ensure file-handle cleanup
			p_torsionFile->close();
			delete p_torsionFile;
		}
		catch( ExceptionBase ex )
		{
			// Ensure file-handle cleanup
			p_torsionFile->close();
			delete p_torsionFile;
			throw ex;
		}
	}
开发者ID:JonnyWideFoot,项目名称:pd,代码行数:61,代码来源:rotamer_dunbrack.cpp


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