Internal and low level: class of libmwawOLE used to store and write a dirTree.
More...
Public Member Functions |
| | DirTree () |
| | constructor
|
| void | clear () |
| | clear all entries, leaving only a root entries
|
| void | setRootType (bool pc=true) |
| | set the root to a mac/pc root
|
| bool | hasRootTypePc () const |
| | returns true if it is a pc file
|
| unsigned | count () const |
| | returns the number of entries
|
| DirEntry const * | entry (unsigned ind) const |
| | returns the entry with a given index
|
| DirEntry * | entry (unsigned ind) |
| | returns the entry with a given index
|
| DirEntry * | entry (const std::string &name) |
| | returns the entry with a given name
|
| unsigned | index (const std::string &name, bool create=false) |
| | given a fullname (e.g "/ObjectPool/_1020961869"), find the entry
|
| unsigned | find_child (unsigned ind, const std::string &name) const |
| | tries to find a child of ind with a given name
|
| void | load (unsigned char *buffer, unsigned len) |
| | tries to read the different entries
|
| std::vector< std::string > | getSubStreamList (unsigned ind=0, bool retrieveAll=false) |
| | returns the list of ind substream
|
| void | setInRedBlackTreeForm () |
| | check/update so that the sibling are store with a red black tree
|
| unsigned | saveSize () const |
| | return space required to save a dir entry
|
| void | save (unsigned char *buffer) const |
| | save the list of direntry in buffer
|
| void | print_all_siblings (std::ostream &o) const |
| | a debug function used to print all siblings
|
Protected Member Functions |
| std::vector< unsigned > | get_siblings (unsigned ind) const |
| | returns a list of siblings corresponding to a node
|
| void | get_siblings (unsigned ind, std::set< unsigned > &seens) const |
| | constructs the list of siblings ( by filling the seens set )
|
| void | print_all_siblings (unsigned ind, std::ostream &o, std::set< unsigned > &seens) const |
| | a debug function used to print all siblings
|
| void | print_siblings (unsigned ind, std::ostream &o, std::set< unsigned > &seen) const |
| | a debug function to print the siblings to try to give a sense to the sibling tree
|
| void | getSubStreamList (unsigned ind, bool all, const std::string &prefix, std::vector< std::string > &res, std::set< unsigned > &seen, bool isRoot=false) const |
| | returns a substream list
|
| void | setInRedBlackTreeForm (unsigned id, std::set< unsigned > &seen) |
| | check that the subtrees of index is a red black tree, if not rebuild it
|
Private Member Functions |
| unsigned | setInRBTForm (std::vector< unsigned > const &childList, unsigned firstInd, unsigned lastInd, unsigned height) |
| | rebuild all the childs m_left, m_right index as a red black tree, returns the root index.
|
| | DirTree (const DirTree &) |
| DirTree & | operator= (const DirTree &) |
Detailed Description
Internal and low level: class of libmwawOLE used to store and write a dirTree.
Constructor & Destructor Documentation
| libmwawOLE::DirTree::DirTree |
( |
| ) |
|
|
inline |
| libmwawOLE::DirTree::DirTree |
( |
const DirTree & |
| ) |
|
|
private |
Member Function Documentation
| void libmwawOLE::DirTree::clear |
( |
| ) |
|
clear all entries, leaving only a root entries
Referenced by DirTree().
| unsigned libmwawOLE::DirTree::count |
( |
| ) |
const |
|
inline |
| DirEntry const* libmwawOLE::DirTree::entry |
( |
unsigned |
ind | ) |
const |
|
inline |
returns the entry with a given index
Referenced by libmwawOLE::IStorage::addDebugInfo(), libmwawOLE::OStorage::createEntry(), entry(), libmwawOLE::IStorage::entry(), find_child(), get_siblings(), getSubStreamList(), index(), libmwawOLE::IStorage::isSubStream(), libmwawOLE::DirTree::CompareEntryName::operator()(), print_all_siblings(), print_siblings(), libmwawOLE::OStorage::setInformation(), setInRBTForm(), setInRedBlackTreeForm(), and libmwawOLE::OStorage::updateToSave().
| DirEntry* libmwawOLE::DirTree::entry |
( |
unsigned |
ind | ) |
|
|
inline |
returns the entry with a given index
| DirEntry* libmwawOLE::DirTree::entry |
( |
const std::string & |
name | ) |
|
|
inline |
returns the entry with a given name
| unsigned libmwawOLE::DirTree::find_child |
( |
unsigned |
ind, |
|
|
const std::string & |
name |
|
) |
| const |
|
inline |
tries to find a child of ind with a given name
Referenced by index().
| std::vector<unsigned> libmwawOLE::DirTree::get_siblings |
( |
unsigned |
ind | ) |
const |
|
inlineprotected |
| void libmwawOLE::DirTree::get_siblings |
( |
unsigned |
ind, |
|
|
std::set< unsigned > & |
seens |
|
) |
| const |
|
inlineprotected |
constructs the list of siblings ( by filling the seens set )
| std::vector<std::string> libmwawOLE::DirTree::getSubStreamList |
( |
unsigned |
ind = 0, |
|
|
bool |
retrieveAll = false |
|
) |
| |
|
inline |
| void libmwawOLE::DirTree::getSubStreamList |
( |
unsigned |
ind, |
|
|
bool |
all, |
|
|
const std::string & |
prefix, |
|
|
std::vector< std::string > & |
res, |
|
|
std::set< unsigned > & |
seen, |
|
|
bool |
isRoot = false |
|
) |
| const |
|
protected |
| bool libmwawOLE::DirTree::hasRootTypePc |
( |
| ) |
const |
|
inline |
| unsigned libmwawOLE::DirTree::index |
( |
const std::string & |
name, |
|
|
bool |
create = false |
|
) |
| |
| void libmwawOLE::DirTree::load |
( |
unsigned char * |
buffer, |
|
|
unsigned |
len |
|
) |
| |
| void libmwawOLE::DirTree::print_all_siblings |
( |
std::ostream & |
o | ) |
const |
|
inline |
| void libmwawOLE::DirTree::print_all_siblings |
( |
unsigned |
ind, |
|
|
std::ostream & |
o, |
|
|
std::set< unsigned > & |
seens |
|
) |
| const |
|
protected |
a debug function used to print all siblings
| void libmwawOLE::DirTree::print_siblings |
( |
unsigned |
ind, |
|
|
std::ostream & |
o, |
|
|
std::set< unsigned > & |
seen |
|
) |
| const |
|
protected |
a debug function to print the siblings to try to give a sense to the sibling tree
Referenced by print_all_siblings().
| void libmwawOLE::DirTree::save |
( |
unsigned char * |
buffer | ) |
const |
|
inline |
| unsigned libmwawOLE::DirTree::saveSize |
( |
| ) |
const |
|
inline |
| unsigned libmwawOLE::DirTree::setInRBTForm |
( |
std::vector< unsigned > const & |
childList, |
|
|
unsigned |
firstInd, |
|
|
unsigned |
lastInd, |
|
|
unsigned |
height |
|
) |
| |
|
private |
rebuild all the childs m_left, m_right index as a red black tree, returns the root index.
- Note
- : this function supposes that the childs list is already sorted
Referenced by setInRedBlackTreeForm().
| void libmwawOLE::DirTree::setInRedBlackTreeForm |
( |
| ) |
|
|
inline |
| void libmwawOLE::DirTree::setInRedBlackTreeForm |
( |
unsigned |
id, |
|
|
std::set< unsigned > & |
seen |
|
) |
| |
|
protected |
check that the subtrees of index is a red black tree, if not rebuild it
| void libmwawOLE::DirTree::setRootType |
( |
bool |
pc = true | ) |
|
Friends And Related Function Documentation
Member Data Documentation
| std::vector<DirEntry> libmwawOLE::DirTree::m_entries |
|
private |
The documentation for this class was generated from the following file: