PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PConstantString< ParentString > Class Template Reference

Create a constant string. More...

#include <pstring.h>

Inherits ParentString.

Public Member Functions

 PConstantString (typename ParentString::Initialiser init)
 
 PConstantString (const PConstantString &other)
 
 ~PConstantString ()
 
virtual PBoolean SetSize (PINDEX s)
 
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

template<class ParentString >
PConstantString< ParentString >::PConstantString ( typename ParentString::Initialiser  init)
inline
template<class ParentString >
PConstantString< ParentString >::PConstantString ( const PConstantString< ParentString > &  other)
inline
template<class ParentString >
PConstantString< ParentString >::~PConstantString ( )
inline

Member Function Documentation

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

References PAssertAlways, and PInvalidParameter.

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

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