MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DLListImpl< P, T, U > Class Template Reference

#include <DLList.hpp>

Inheritance diagram for DLListImpl< P, T, U >:
Collaboration diagram for DLListImpl< P, T, U >:

Classes

struct  Head
struct  HeadPOD

Public Member Functions

 DLListImpl (P &thePool)
bool seize (Ptr< T > &)
bool seizeId (Ptr< T > &, Uint32 i)
bool findId (Uint32 i) const
void release (Uint32 i)
void release (Ptr< T > &)
void release ()
void remove ()
void add (Ptr< T > &)
void add (Uint32 first, Ptr< T > &last)
void remove (Ptr< T > &)
void remove (T *)
void getPtr (Ptr< T > &, Uint32 i) const
void getPtr (Ptr< T > &) const
T * getPtr (Uint32 i) const
bool first (Ptr< T > &) const
bool next (Ptr< T > &) const
bool hasNext (const Ptr< T > &) const
bool isEmpty () const

Protected Attributes

Head head
P & thePool

Detailed Description

template<typename P, typename T, typename U = T>
class DLListImpl< P, T, U >

Template class used for implementing an list of object retreived from a pool

Definition at line 28 of file DLList.hpp.

Member Function Documentation

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::add ( Ptr< T > &  p)
inline

Add object to list

MUST be seized from correct pool

Definition at line 260 of file DLList.hpp.

Here is the caller graph for this function:

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::add ( Uint32  first,
Ptr< T > &  last 
)
inline

Add a list to list all elements must be correctly initilized correctly wrt next/prev

Definition at line 279 of file DLList.hpp.

Here is the call graph for this function:

template<typename P , typename T , typename U >
bool DLListImpl< P, T, U >::findId ( Uint32  i) const
inline

Check if i is allocated.

Definition at line 252 of file DLList.hpp.

template<typename P , typename T, typename U >
bool DLListImpl< P, T, U >::first ( Ptr< T > &  p) const
inline

Update ptr to first element in list

Returns
True if element exists, false otherwise

Update ptr to first element in list

Return i

Definition at line 406 of file DLList.hpp.

Here is the caller graph for this function:

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::getPtr ( Ptr< T > &  p,
Uint32  i 
) const
inline

Update i & p value according to i

Definition at line 376 of file DLList.hpp.

Here is the caller graph for this function:

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::getPtr ( Ptr< T > &  p) const
inline

Update p value for ptr according to i value

Definition at line 385 of file DLList.hpp.

template<typename P , typename T, typename U >
T * DLListImpl< P, T, U >::getPtr ( Uint32  i) const
inline

Get pointer for i value

Definition at line 393 of file DLList.hpp.

template<typename P , typename T, typename U >
bool DLListImpl< P, T, U >::hasNext ( const Ptr< T > &  p) const
inline

Check if next exists

Note
ptr must have both p & i values
Returns
True if element exists, false otherwise

Definition at line 437 of file DLList.hpp.

template<typename P , typename T, typename U >
bool DLListImpl< P, T, U >::next ( Ptr< T > &  p) const
inline

Get next element

Note
ptr must have both p & i values
Returns
True if element exists, false otherwise

Definition at line 422 of file DLList.hpp.

Here is the caller graph for this function:

template<typename P , typename T , typename U >
void DLListImpl< P, T, U >::release ( Uint32  i)
inline

Return an object to pool

Definition at line 329 of file DLList.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::release ( Ptr< T > &  p)
inline

Return an object to pool

Definition at line 343 of file DLList.hpp.

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::release ( )
inline

Return all objects to the pool

Definition at line 352 of file DLList.hpp.

Here is the caller graph for this function:

template<typename P , typename T , typename U >
void DLListImpl< P, T, U >::remove ( void  )
inline

Remove all objects from list

Definition at line 368 of file DLList.hpp.

Here is the caller graph for this function:

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::remove ( Ptr< T > &  p)
inline

Remove object from list

Does not return it to pool

Definition at line 296 of file DLList.hpp.

template<typename P , typename T, typename U >
void DLListImpl< P, T, U >::remove ( T *  p)
inline

Remove object from list

Does not return it to pool

Definition at line 304 of file DLList.hpp.

template<typename P , typename T, typename U >
bool DLListImpl< P, T, U >::seize ( Ptr< T > &  p)
inline

Allocate an object from pool - update Ptr

Return i

Definition at line 221 of file DLList.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:

template<typename P , typename T, typename U >
bool DLListImpl< P, T, U >::seizeId ( Ptr< T > &  p,
Uint32  ir 
)
inline

Allocate object i from pool - update Ptr

Return i

Allocate an object from pool - update Ptr

Return i

Definition at line 239 of file DLList.hpp.

Here is the call graph for this function:

Here is the caller graph for this function:


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