lestes::std::mem::simple_pointer Class Reference

Wrapped bare pointer. More...

#include <simple_pointer.hh>

Inheritance diagram for lestes::std::mem::simple_pointer:

lestes::std::srp< T > List of all members.

Public Member Functions

void gc_mark (void) const
 Marks the keystone pointed to.
 ~simple_pointer (void)
 Destructs the simple pointer.

Protected Member Functions

 simple_pointer (void)
 Creates the simple pointer without initializing.
keystonepointer_get (void) const
 Returns the bare pointer.
void pointer_set (keystone *a_pointer)
 Sets the bare pointer.

Private Member Functions

 simple_pointer (const simple_pointer &)
 Hides copy constructor.
simple_pointeroperator= (const simple_pointer &)
 Hides assignment operator.

Private Attributes

keystonepointer
 The wrapped bare pointer.

Detailed Description

Wrapped bare pointer.

Wrapper for bare pointer to keystone class. Provides only set and get operations. Used as common ancestor of all srp template classes. It should occupy only the space needed for the wrapped pointer.

Definition at line 53 of file simple_pointer.hh.


Constructor & Destructor Documentation

lestes::std::mem::simple_pointer::~simple_pointer ( void   )  [inline]

Destructs the simple pointer.

Destructs the simple pointer. Leaves the referenced object unchanged.

Definition at line 85 of file simple_pointer.hh.

00086 {
00087 }

lestes::std::mem::simple_pointer::simple_pointer ( void   )  [inline, protected]

Creates the simple pointer without initializing.

Creates the simple pointer. Intentionally, does not initialize.

Definition at line 78 of file simple_pointer.hh.

00079 {
00080 }

lestes::std::mem::simple_pointer::simple_pointer ( const simple_pointer  )  [private]

Hides copy constructor.


Member Function Documentation

void lestes::std::mem::simple_pointer::gc_mark ( void   )  const

Marks the keystone pointed to.

Marks the object pointed to, if not NULL.

Definition at line 45 of file simple_pointer.cc.

References lestes::std::mem::keystone::enqueue(), and pointer_get().

Referenced by lestes::std::source_location::gc_mark(), lestes::std::class_reflection::gc_mark(), lestes::std::s::gc_mark(), lestes::std::mem::e::gc_mark(), lestes::std::mem::d::gc_mark(), lestes::std::mem::c::gc_mark(), lestes::std::mem::b::gc_mark(), lestes::std::file_info::gc_mark(), and lestes::std::readable_dumper::gc_mark().

00046 {
00047         keystone *k = pointer_get();
00048         if (k != NULL) k->enqueue();
00049 }

keystone * lestes::std::mem::simple_pointer::pointer_get ( void   )  const [inline, protected]

Returns the bare pointer.

Returns the underlying bare pointer.

Returns:
The bare pointer.

Reimplemented in lestes::std::srp< T >, lestes::std::srp< aa >, lestes::std::srp< a >, lestes::std::srp< ::lestes::std::list< srp< action > > >, lestes::std::srp< c >, lestes::std::srp< object >, lestes::std::srp< file_info >, lestes::std::srp< e >, lestes::std::srp< Container >, lestes::std::srp< ::lestes::std::list< srp< object > > >, lestes::std::srp< set_type >, lestes::std::srp< field_metadata_list >, lestes::std::srp< list< srp< broadcast_listener< Y > > > >, and lestes::std::srp< source_location >.

Definition at line 93 of file simple_pointer.hh.

References pointer.

Referenced by gc_mark().

00093                                                        {
00094         return pointer;
00095 }

void lestes::std::mem::simple_pointer::pointer_set ( keystone a_pointer  )  [inline, protected]

Sets the bare pointer.

Sets the underlying bare pointer.

Parameters:
a_pointer The new bare pointer.

Definition at line 101 of file simple_pointer.hh.

References pointer.

00101                                                            {
00102         pointer = a_pointer;
00103 }

simple_pointer& lestes::std::mem::simple_pointer::operator= ( const simple_pointer  )  [private]

Hides assignment operator.


Member Data Documentation

keystone* lestes::std::mem::simple_pointer::pointer [private]

The wrapped bare pointer.

Definition at line 68 of file simple_pointer.hh.

Referenced by pointer_get(), and pointer_set().


The documentation for this class was generated from the following files:
Generated on Mon Feb 12 18:26:03 2007 for lestes by doxygen 1.5.1-20070107