_tempbuf.c

来自「stl的源码」· C语言 代码 · 共 58 行

C
58
字号
/* * * * Copyright (c) 1994 * Hewlett-Packard Company * * Copyright (c) 1996,1997 * Silicon Graphics Computer Systems, Inc. * * Copyright (c) 1997 * Moscow Center for SPARC Technology * * Copyright (c) 1999 * Boris Fomitchev * * This material is provided "as is", with absolutely no warranty expressed * or implied. Any use is at your own risk. * * Permission to use or copy this software for any purpose is hereby granted * without fee, provided the above notices are retained on all copies. * Permission to modify the code and to distribute modified code is granted, * provided the above notices are retained, and a notice that the code was * modified is included with the above copyright notice. * */#ifndef _STLP_TEMPBUF_C#define _STLP_TEMPBUF_C#ifndef _STLP_INTERNAL_TEMPBUF_H# include <stl/_tempbuf.h>#endif_STLP_BEGIN_NAMESPACEtemplate <class _Tp>pair<_Tp*, ptrdiff_t> _STLP_CALL__get_temporary_buffer(ptrdiff_t __len, _Tp*){  if (__len > ptrdiff_t(INT_MAX / sizeof(_Tp)))    __len = INT_MAX / sizeof(_Tp);  while (__len > 0) {    _Tp* __tmp = (_Tp*) malloc((size_t)__len * sizeof(_Tp));    if (__tmp != 0)      return pair<_Tp*, ptrdiff_t>(__tmp, __len);    __len /= 2;  }  return pair<_Tp*, ptrdiff_t>((_Tp*)0, 0);}_STLP_END_NAMESPACE#endif /*  _STLP_TEMPBUF_C */// Local Variables:// mode:C++// End:

⌨️ 快捷键说明

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