C++ Portable Types Library (PTypes)

The C++ Portable Types Library (PTypes) is a simple alternative to the STL that includes multithreading and networking. It defines dynamic strings, character sets, variants, lists and other basic data types along with threads, synchronization primitives and IP sockets. It is portable across modern Unix and Windows systems and includes a sample HTTP daemon showing the full power of the library.

Tags Internet Web HTTP Servers Software Development Libraries Application Frameworks
Licenses zlib/libpng
Operating Systems Mac OS X POSIX HP-UX Solaris Linux BSD FreeBSD OS Independent Windows Windows Unix
Implementation C++

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  27 Jun 2007 09:11
  • Rrelease-after

Changes: Support for HP-UX/aCC was added. Several compilation problems were solved on *BSD systems and Mac OS X.

  • Rrelease-mid
  •  15 May 2007 06:13
  • Rrelease-after

Changes: In addition to Intel and PowerPC, atomic functions (inc/dec/swap) are now implemented in the assembly language for SPARC platforms as well. More exotic platforms still use a mutex hash table in these functions. Another important improvement in this release is introduction of portable 64-bit file/stream positioning.

  • Rrelease-mid
  •  24 Jan 2007 11:17
  • Rrelease-after

Changes: Several bugs have been fixed that accumulated during the past few years.

  • Rrelease-mid
  •  17 May 2004 06:02
  • Rrelease-after

Changes: The memory corruption problem in multi-threaded applications compiled with the LinuxThreads library has been fixed. Several minor improvements and bugfixes have been made for streams and for the dynamic string class.

  • Rrelease-mid
  •  27 Mar 2004 08:35
  • Rrelease-after

No changes have been submitted for this release.

Rss Recent comments

Rcomment-before 12 Nov 2004 15:50 Rcomment-trans devcjohnson Rcomment-after

Very Nice Library!
In the time it took me to get Boost and ACE* compiled and usable as plugin libraries I was able to make a controlled document webserver application complete with view/update/tracking/collaboration capabilities using PTypes library that works in a diverse network environment for proof of concept.

This is definitely a library that will be a main stay in my own personal toolbox!

Chris

*I am not being critical of Boost, ACE, or STL as I have used them extensively and they are great libraries. My point is PTypes is one of the first truly plug it and go with code bases I have come across in a long time with such a gentle learning curve/functionality ratio. Awesome library.

Rcomment-before 18 May 2004 09:45 Rcomment-trans hovik Rcomment-after

Re: PTypes / STL comparative

>

> Has somebody done a comparative between

> PTypes and STL? It should be nice to

> see a comparative about performance and

> memory ocupation for several

> hungry-resource problems.

>

I did some tests on my FreeBSD and also on a Windows 2003 machine with MSVC. In summary, the basic operations on dynamic arrays (std::vector and pt::tpodlist) are nearly equal, but PTypes produces less binary code.

The picture with dynamic strings is different. PTypes performs better than Microsoft's string class, but it is worse than GNU.

As for memory usage, PTypes uses less memory space for strings compared to GNU, by exactly one 'int' per string (the capacity is not stored, a quantization algorithm is used instead in PTypes).

(BTW, a better place to discuss this is the project management page at SourceForge.net:

http://sourceforge.net/projects/ptypes/)

Rcomment-before 18 May 2004 07:55 Rcomment-trans jespa Rcomment-after

PTypes / STL comparative

Has somebody done a comparative between PTypes and STL? It should be nice to see a comparative about performance and memory ocupation for several hungry-resource problems.

Jose (http://dac.escet.urjc.es/personal/jespa) Miguel (http://dac.escet.urjc.es/personal/jespa) Espadero (http://dac.escet.urjc.es/personal/jespa)

38fec06557120eb5337e0ea3acf55944_thumb

Project Spotlight

NexentaStor

A NAS/iSCSI software appliance based on ZFS.

026f3e62468d0fb4e0ea639df53da3e0_thumb

Project Spotlight

Campsite

A multilingual content management system (CMS) for news Web sites.