stx_CacheVec Class Reference
[Common, basic classes, functions and types]

#include <stx_Cache.h>

Inheritance diagram for stx_CacheVec:

Inheritance graph
[legend]
Collaboration diagram for stx_CacheVec:

Collaboration graph
[legend]

List of all members.


Detailed Description

Definition at line 80 of file stx_Cache.h.


Public Member Functions

 stx_CacheVec ()
 ~stx_CacheVec ()
stx_CacheElGet (stx_CacheKey_t a_key)
void Insert (stx_CacheEl *a_elem_p)
void RemoveEl (stx_CacheEl *a_elem_p)
void CleanUp ()
void CleanUpAndNotify ()

Public Attributes

 log_CLASSID_m

Constructor & Destructor Documentation

stx_CacheVec::stx_CacheVec (  )  [inline]

Definition at line 82 of file stx_Cache.h.

00082 { reserve(8);};

stx_CacheVec::~stx_CacheVec (  )  [inline]

Definition at line 83 of file stx_Cache.h.

00083                    {
00084         CleanUp();
00085     };


Member Function Documentation

stx_CacheEl * stx_CacheVec::Get ( stx_CacheKey_t  a_key  ) 

Definition at line 48 of file stx_Cache.cpp.

References NULL.

Referenced by i_FSC_i::CompleteMigration(), fsc_FileLocStorage::Insert(), and i_FSC_i::InsertSplitFromFRIBlock().

00048                                                   {
00049 //    log_FUNC_m(Get);
00050 
00051     register stx_CacheEl* *ip = &(*begin());
00052     register stx_CacheEl* *ep = &(*end()); // addres of past the end
00053     for (; ip < ep; ip++) {
00054         if ((*ip)->m_cacheKey == a_key) {
00055             return *ip;
00056         }
00057     }
00058     return NULL;
00059 }

Here is the caller graph for this function:

void stx_CacheVec::Insert ( stx_CacheEl a_elem_p  )  [inline]

Definition at line 88 of file stx_Cache.h.

Referenced by fsc_FileLocStorage::Insert(), and i_FSC_i::InsertSplitFromFRIBlock().

00088                                        {
00089         insert(end(), a_elem_p);
00090     };

Here is the caller graph for this function:

void stx_CacheVec::RemoveEl ( stx_CacheEl a_elem_p  ) 

Definition at line 84 of file stx_Cache.cpp.

Referenced by i_FSC_i::CompleteMigration(), and i_FSC_i::InsertSplitFromFRIBlock().

00084                                                 {
00085     stx_CacheEl* *ip = &(*begin());
00086     stx_CacheEl* *ep = &(*end()); // addres of past the end
00087     for (; ip < ep; ip++) {
00088         if ((*ip) == a_elem_p) { // check if point to same object
00089     //        log_FUNC_m(RemoveEl(stx_CacheEl*));
00090     //        log_DBG_m(dbg_DETAIL, " remove EL p= " << a_elem_p
00091     //                           << " key = " << a_elem_p->GetCacheKey());
00092             *ip = *--ep; // overwrite element with last one
00093             pop_back(); // remove last
00094         }
00095     }
00096 }

Here is the caller graph for this function:

void stx_CacheVec::CleanUp (  ) 

Definition at line 100 of file stx_Cache.cpp.

References dbg_DETAIL, log_DBG_m, log_FUNC_m, and NULL.

Referenced by stx_CacheArray< _MaxCacheSize >::CleanUp(), and stx_Cache::CleanUp().

00100                            {
00101 //    log_FUNC_m(CleanUp);
00102     stx_CacheEl* *ip = &(*begin());
00103     stx_CacheEl* *ep = &(*end()); // addres of past the end
00104     for (; ip < ep; ip++) {
00105         if (*ip != NULL) {
00106             //log_DBG_m(dbg_DETAIL, " remove EL p= " << *ip
00107             //                   << " key = " << (*ip)->GetCacheKey());
00108             delete *ip;
00109         }
00110         else {
00111             log_FUNC_m(CleanUp);
00112             log_DBG_m(dbg_DETAIL, "Point to NULL. ip: " << ip);
00113         }
00114     }
00115     clear();
00116 }

Here is the caller graph for this function:

void stx_CacheVec::CleanUpAndNotify (  ) 

Definition at line 120 of file stx_Cache.cpp.

References log_FUNC_m, log_WRN_m, and NULL.

Referenced by stx_CacheArray< _MaxCacheSize >::CleanUpAndNotify().

00120                                     {
00121 //    log_FUNC_m(CleanUpAndNotify);
00122     stx_CacheEl* *ip = &(*begin());
00123     stx_CacheEl* *ep = &(*end()); // addres of past the end
00124     for (; ip < ep; ip++) {
00125         if (*ip != NULL) {
00126             (*ip)->RemoveNotification();
00127             delete *ip;
00128         }
00129         else {
00130             log_FUNC_m(CleanUpAndNotify);
00131             log_WRN_m("Point to NULL. STRANGE!");
00132         }
00133     }
00134     clear();
00135 }

Here is the caller graph for this function:


Member Data Documentation

Definition at line 96 of file stx_Cache.h.


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

Generated on Mon Feb 27 19:50:46 2012 for OPENARCHIVE by  doxygen 1.5.6