Package pygccxml :: Package parser :: Module declarations_cache :: Class file_cache_t |

# type file_cache_t

source code

      object --+
               |
    cache_base_t --+
                   |
                  file_cache_t

Cache implementation to store data in a pickled form in a file. This class contains some cache logic that keeps track of which entries have been 'hit' in the cache and if an entry has not been hit then it is deleted at the time of the flush(). This keeps the cache from growing larger when files change and are not used again.

Instance Methods
__init__(self, name) | source code
flush(self) Flush (write out) the cache to disk if needed. | source code
update(self, source_file, configuration, declarations, included_files) Update a cached record with the current key and value contents. | source code
cached_value(self, source_file, configuration) Attempt to lookup the cached decls for the given file and configuration. | source code

Class Variables
Inherited from `cache_base_t`: `logger`

Method Details

### __init__(self, name) (Constructor) | source code
Parameters: `name` - name of the cache file. Overrides: cache_base_t.__init__

### flush(self) | source code
Flush (write out) the cache to disk if needed. Overrides: cache_base_t.flush (inherited documentation)

### update(self, source_file, configuration, declarations, included_files) | source code
Update a cached record with the current key and value contents. Parameters: `source_file` - path to the C++ source file being parsed `configuration` - configuration used in parsing (config_t) `declarations` - declaration tree found when parsing `included_files` - files included by parsing. Overrides: cache_base_t.update

### cached_value(self, source_file, configuration) | source code
Attempt to lookup the cached decls for the given file and configuration. If not found or signature check fails, returns None. Overrides: cache_base_t.cached_value