PTLib  Version 2.10.11
PConstantString< ParentString > Class Template Reference

Create a constant string. More...

#include <pstring.h>

Inheritance diagram for PConstantString< ParentString >:

Public Member Functions

 PConstantString (typename ParentString::Initialiser init)
 
 ~PConstantString ()
 
virtual PBoolean SetSize (PINDEX)
 
virtual void AssignContents (const PContainer &)
 
virtual void DestroyReference ()
 

Detailed Description

template<class ParentString>
class PConstantString< ParentString >

Create a constant string.

This is used to create a PString wrapper around a constant char string. Thus internal memory allocations are avoided as it does not change. The resultant object can be used in almost every way that a PString does, except being able modify it. However, copying to another PString instance and then making modifications is OK.

It is particularly useful in static string declarations, e.g. static const PConstantString<PString> str("A test string"); and is completely thread safe in it's construction.

Constructor & Destructor Documentation

§ PConstantString()

template<class ParentString >
PConstantString< ParentString >::PConstantString ( typename ParentString::Initialiser  init)
inline

§ ~PConstantString()

template<class ParentString >
PConstantString< ParentString >::~PConstantString ( )
inline

Member Function Documentation

§ AssignContents()

template<class ParentString >
virtual void PConstantString< ParentString >::AssignContents ( const PContainer )
inlinevirtual

References PAssertAlways, and PInvalidParameter.

§ DestroyReference()

template<class ParentString >
virtual void PConstantString< ParentString >::DestroyReference ( )
inlinevirtual

References PString::operator=().

§ SetSize()

template<class ParentString >
virtual PBoolean PConstantString< ParentString >::SetSize ( PINDEX  )
inlinevirtual

The documentation for this class was generated from the following file: