Version: 2.9.4
Public Member Functions
wxCharTypeBuffer< T > Class Template Reference

#include </home/zeitlin/src/wx/github/interface/wx/buffer.h>

Inheritance diagram for wxCharTypeBuffer< T >:

Detailed Description

template<typename T>
class wxCharTypeBuffer< T >

wxCharTypeBuffer<T> is a template class for storing characters.

The difference from wxScopedCharTypeBuffer<T> is that this class doesn't have non-owned mode and the data stored in it are valid for as long as the buffer instance exists. Other than that, this class' behaviour is the same as wxScopedCharTypeBuffer<T>'s -- in particular, the data are reference-counted and copying the buffer is cheap.

wxScopedCharTypeBuffer<T> buffers can be converted into wxCharTypeBuffer<T>.

Template Parameters:
TThe type of the characters stored in this class.
Since:
2.9.0

Library:  None; this class implementation is entirely header-based.
Category:  Data Structures

Public Member Functions

 wxCharTypeBuffer (const CharType *str=NULL, size_t len=wxNO_LEN)
 Creates (owned) buffer from str and takes ownership of it.
 wxCharTypeBuffer (size_t len)
 Creates (owned) buffer of size len.
 wxCharTypeBuffer (const wxCharTypeBuffer &src)
 Copy constructor.
 wxCharTypeBuffer (const wxScopedCharTypeBuffer< T > &src)
 Makes a copy of scoped buffer src.
wxCharTypeBufferoperator= (const CharType *str)
 Assigns str to this buffer and takes ownership of it (i.e.
wxCharTypeBufferoperator= (const wxCharTypeBuffer &src)
 Assignment operator behaves in the same way as the copy constructor.
wxCharTypeBufferoperator= (const wxScopedCharTypeBuffer< T > &src)
 Assigns a scoped buffer to this buffer.
bool extend (size_t len)
 Extends the buffer to have size len.
bool shrink (size_t len)
 Shrinks the buffer to have size len and NUL-terminates the string at this length.

List of all members.


Constructor & Destructor Documentation

template<typename T>
wxCharTypeBuffer< T >::wxCharTypeBuffer ( const CharType str = NULL,
size_t  len = wxNO_LEN 
)

Creates (owned) buffer from str and takes ownership of it.

Parameters:
strString data.
lenIf specified, length of the string, otherwise the string is considered to be NUL-terminated.
参照:
wxScopedCharTypeBuffer<T>::CreateOwned()
template<typename T>
wxCharTypeBuffer< T >::wxCharTypeBuffer ( size_t  len)

Creates (owned) buffer of size len.

参照:
wxScopedCharTypeBuffer<T>::CreateOwned()
template<typename T>
wxCharTypeBuffer< T >::wxCharTypeBuffer ( const wxCharTypeBuffer< T > &  src)

Copy constructor.

Increases reference count on the data, does not make wxStrdup() copy of the data.

template<typename T>
wxCharTypeBuffer< T >::wxCharTypeBuffer ( const wxScopedCharTypeBuffer< T > &  src)

Makes a copy of scoped buffer src.

If src is a non-owned buffer, a copy of its data is made using wxStrdup(). If src is an owned buffer, this constructor behaves in the usual way (reference count on buffer data is incremented).


Member Function Documentation

template<typename T>
bool wxCharTypeBuffer< T >::extend ( size_t  len)

Extends the buffer to have size len.

Can only be called on buffers that don't share data with another buffer (i.e. reference count of the data is 1).

参照:
shrink()
template<typename T>
wxCharTypeBuffer& wxCharTypeBuffer< T >::operator= ( const CharType str)

Assigns str to this buffer and takes ownership of it (i.e.

the buffer becomes "owned").

template<typename T>
wxCharTypeBuffer& wxCharTypeBuffer< T >::operator= ( const wxCharTypeBuffer< T > &  src)

Assignment operator behaves in the same way as the copy constructor.

template<typename T>
wxCharTypeBuffer& wxCharTypeBuffer< T >::operator= ( const wxScopedCharTypeBuffer< T > &  src)

Assigns a scoped buffer to this buffer.

If src is a non-owned buffer, a copy of its data is made using wxStrdup(). If src is an owned buffer, the assignment behaves in the usual way (reference count on buffer data is incremented).

Reimplemented from wxScopedCharTypeBuffer< T >.

template<typename T>
bool wxCharTypeBuffer< T >::shrink ( size_t  len)

Shrinks the buffer to have size len and NUL-terminates the string at this length.

Can only be called on buffers that don't share data with another buffer (i.e. reference count of the data is 1).

Parameters:
lenLength to shrink to. Must not be larger than current length.
注:
The string is not reallocated to take less memory.
Since:
2.9.0
参照:
extend()
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines