stlab.adobe.com Adobe Systems Incorporated
ptr_traits< T * > Struct Template Reference

#include <memory.hpp>

List of all members.

Classes

struct  rebind

Public Types

enum  { is_array }
typedef const pointer_type const_pointer_type
typedef T element_type
typedef T * pointer_type

Static Public Member Functions

static void delete_ptr (pointer_type x) throw ()
static bool empty_ptr (const_pointer_type x) throw ()

Detailed Description

template<typename T>
struct adobe::ptr_traits< T * >

The ptr_traits class provide basic information and operations associated with a pointer type.

A <i>pointer</i> may be any type used to refer to another, possibly not visible, type.

In the following table, <code>X</code> denotes a Traits class defining types and functions for
the pointer type PtrT. The type of the item refered to is T. T may be <code>void</code> or an
incomplete type. The argument <code>p</code> is of type PtrT.

<table>
    <tr>
        <td><b>expression</b></td>
        <td><b>return type</b></td>
        <td><b>notes</b></td>
        <td><b>complexity</b></td>
    </tr>
    <tr>
        <td><code>X::element_type</code></td>
        <td><code>T</code></td>
        <td>the type of the item refered to</td>
        <td>compile time</td>
    </tr>
    <tr>
        <td><code>X::pointer_type</code></td>
        <td><code>PtrT</code></td>
        <td>if opaque, may be any type used to refer to T</td>
        <td>compile time</td>
    </tr>
    <tr>
        <td><code>X::const_pointer_type</code></td>
        <td>implementation defined</td>
        <td>type corresponding to PtrT refering to a const T</td>
        <td>compile time</td>
    </tr>
    <tr>
        <td><code>X::is_array</code></td>
        <td><code>bool</code></td>
        <td>true iff T is an array; type may also be convertable to bool</td>
        <td>compile time</td>
    </tr>
    <tr>
        <td><code>X::delete_ptr(p)</code></td>
        <td><code>void</code></td>
        <td>destructs and deallocates item refered to by p; if p is empty, delete_ptr() has no effect</td>
        <td>implementation defined</td>
    </tr>
    <tr>
        <td><code>X::empty_ptr(p)</code></td>
        <td><code>bool</code></td>
        <td>result is <code>true</code> if <code>p</code> refers to nothing (corresponds to
            <code>NULL</code>); <code>false</code> otherwise</td>
        <td>constant</td>
    </tr>
</table>

Definition at line 163 of file memory.hpp.


Member Typedef Documentation

Definition at line 167 of file memory.hpp.

typedef T element_type

Definition at line 165 of file memory.hpp.

typedef T* pointer_type

Definition at line 166 of file memory.hpp.


Member Enumeration Documentation

anonymous enum
Enumerator:
is_array 

Definition at line 170 of file memory.hpp.


Member Function Documentation

static void delete_ptr ( pointer_type  x) throw ()
static

Definition at line 172 of file memory.hpp.

static bool empty_ptr ( const_pointer_type  x) throw ()
static

Definition at line 173 of file memory.hpp.

Copyright © 2006-2007 Adobe Systems Incorporated.

Use of this website signifies your agreement to the Terms of Use and Online Privacy Policy.

Search powered by Google