zypp::filesystem::DevInoCache Class Reference

Simple cache remembering device/inode to detect hardlinks. More...

#include <PathInfo.h>

List of all members.

Public Member Functions

 DevInoCache ()
 Ctor.
void clear ()
 Clear cache.
bool insert (const dev_t &dev_r, const ino_t &ino_r)
 Remember dev/ino.

Private Attributes

std::map< dev_t, std::set
< ino_t > > 
_devino


Detailed Description

Simple cache remembering device/inode to detect hardlinks.

     DevInoCache trace;
     for ( all files ) {
       if ( trace.insert( file.device, file.inode ) ) {
         // 1st occurance of file
       }
         // else: hardlink; already counted this device/inode
       }
     }

Definition at line 185 of file PathInfo.h.


Constructor & Destructor Documentation

zypp::filesystem::DevInoCache::DevInoCache (  )  [inline]

Ctor.

Definition at line 189 of file PathInfo.h.


Member Function Documentation

void zypp::filesystem::DevInoCache::clear (  )  [inline]

Clear cache.

Definition at line 192 of file PathInfo.h.

References _devino.

bool zypp::filesystem::DevInoCache::insert ( const dev_t &  dev_r,
const ino_t &  ino_r 
) [inline]

Remember dev/ino.

true if it's inserted the first time, false if alredy present in cache (a hardlink to a previously remembered file).

Definition at line 199 of file PathInfo.h.

References _devino.

Referenced by zypp::target::rpm::RpmHeader::tag_du().


Member Data Documentation

std::map<dev_t,std::set<ino_t> > zypp::filesystem::DevInoCache::_devino [private]

Definition at line 204 of file PathInfo.h.

Referenced by clear(), and insert().


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

doxygen