libzypp  10.5.0
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.

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.


Member Data Documentation

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

Definition at line 204 of file PathInfo.h.


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