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

📄 pport.h

📁 PTypes (C++ Portable Types Library) is a simple alternative to the STL that includes multithreading
💻 H
字号:
/* * *  C++ Portable Types Library (PTypes) *  Version 1.7.5   Released 9-Mar-2003 * *  Copyright (c) 2001, 2002, 2003 Hovik Melikyan * *  http://www.melikyan.com/ptypes/ *  http://ptypes.sourceforge.net/ * */#ifndef __PPORT_H__#define __PPORT_H__#define PTYPES_NAMESPACE pt//// conditional namespace declarations//#ifdef PTYPES_NAMESPACE#  define PTYPES_BEGIN      namespace PTYPES_NAMESPACE {#  define PTYPES_END        }#  define USING_PTYPES      using namespace PTYPES_NAMESPACE;#else#  define PTYPES_NAMESPACE#  define PTYPES_BEGIN#  define PTYPES_END#  define USING_PTYPES#endif#ifndef __cplusplus#  error "This is a C++ source"#endif//// Windows DLL export/import macros//#ifdef WIN32#  if defined(PTYPES_DLL_EXPORTS)#    define ptpublic __declspec(dllexport)#  elif defined(PTYPES_DLL)#    define ptpublic __declspec(dllimport)#  else#    define ptpublic#  endif#else#  define ptpublic#endif//// versioning//#define PTYPES_VERSION 0x00010705extern "C" ptpublic unsigned long __ptypes_version;PTYPES_BEGIN//// windows/msc/bcc specific//#ifdef _MSC_VER// we don't want "unreferenced inline function" warning#  pragma warning (disable: 4514)#endif#if defined(_DEBUG) && !defined(DEBUG)#  define DEBUG#endif#if defined(__WIN32__) && !defined(WIN32)#  define WIN32#endif#if defined(__APPLE__)#  define __DARWIN__#endif// CHECK_BOUNDS affects the way an item is retrieved// from string, objlist and strlist.#ifdef DEBUG#  define CHECK_BOUNDS#endif//// useful typedefs//typedef unsigned int    uint;typedef unsigned long   ulong;typedef unsigned short  ushort;typedef unsigned char   uchar;typedef signed char     schar;typedef char*           pchar;typedef const char*     pconst;typedef void*           ptr;typedef int*            pint;//// portable 64-bit integers://#if defined(_MSC_VER) || defined(__BORLANDC__)   typedef __int64             large;   typedef unsigned __int64    ularge;#else   typedef long long           large;   typedef unsigned long long  ularge;#endif#if defined(_MSC_VER) || defined(__BORLANDC__)#  define strcasecmp stricmp#  define snprintf _snprintf// atoll() is not portable, use stringtoi() instead// #  define atoll _atoi64#endif//// misc.//#define nil 0inline int   imax(int x, int y)       { return (x > y) ? x : y; }inline int   imin(int x, int y)       { return (x < y) ? x : y; }inline large lmax(large x, large y)   { return (x > y) ? x : y; }inline large lmin(large x, large y)   { return (x < y) ? x : y; }//// critical error processing//#define CRIT_FIRST 0xC0000typedef void (*_pcrithandler)(int code, const char* msg);ptpublic _pcrithandler getcrithandler();ptpublic _pcrithandler setcrithandler(_pcrithandler newh);ptpublic void fatal(int code, const char* msg);//// memory management//ptpublic void* memalloc(uint a);ptpublic void* memrealloc(void* p, uint a);ptpublic void memfree(void* p);ptpublic void memerror();PTYPES_END#endif // __PPORT_H__

⌨️ 快捷键说明

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