⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fatal.h

📁 crack modeling with xfem
💻 H
字号:
/* 2008 (c) Dorival M. Pedroso */#ifndef MPM_EXCEPTION_H#define MPM_EXCEPTION_H// STL#include <iostream> // for std::cout#include <string>   // for std::string#include <cstdarg>  // for va_list, va_start, va_endclass Fatal{public:	// Constructor	Fatal (std::string const & Fmt, ...);	// Methods	void Cout () const { std::cout << "" << "Fatal: " << _msg << "" << std::endl; }private:	// Data	std::string _msg;	// Private	int _set_msg (char const * Fmt, va_list ArgList);};/////////////////////////////////////////////////////////////////////////////////////////// Implementation //////* Constructor */inline Fatal::Fatal(std::string const & Fmt, ...){	va_list   arg_list;	va_start (arg_list, Fmt);	_set_msg (Fmt.c_str(), arg_list);	va_end   (arg_list);}/* Private */inline int Fatal::_set_msg(char const * Fmt, va_list ArgList){	const int size = 4048; // TODO: remove this limitation by using a loop and reallocating space	char      buffer[size];	int       len = std::vsnprintf(buffer, size, Fmt, ArgList);	_msg.clear();	if (len<0) _msg.append("String::_set_msg: INTERNAL ERROR: std::vsnprintf FAILED");	else	{		buffer[len]='\0';		if (len>size) _msg.append("String::_set_msg: INTERNAL ERROR: std::vsnprintf MESSAGE TRUNCATED: ");		_msg.append(buffer);	}	return len;}#endif // MPM_EXCEPTION_H/* 2008 (c) Dorival M. Pedroso */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -