|
MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
|
Built grids and the storage their borrowed pointers refer into. More...
Collaboration diagram for MayaFlux::IO::Detail::VDBArchive::State:Public Attributes | |
| std::deque< std::vector< tvdb_meta_entry_t > > | entries |
| std::vector< tvdb_grid_t > | grids |
| tvdb_file_t | read_file {} |
| bool | read_file_open { false } |
| std::deque< std::string > | strings |
| std::deque< std::array< char, 32 > > | type_tokens |
Built grids and the storage their borrowed pointers refer into.
tvdb_meta_entry_t holds bare char pointers and tvdb_grid_destroy_owned frees whatever the grid owns. Metadata strings therefore live here and the entry array is detached from each grid before destroying it, so tinyvdb never frees memory it did not allocate.
Deques rather than vectors: entry arrays hold pointers into the string storage, and grids hold pointers into the entry storage, so neither may reallocate as more grids are added.
read_file/read_file_open are the read path's entire state: open() parses a file into read_file and every accessor below indexes into it directly. Independent of the write-side members above — an instance may open() for reading without ever having called add_grid.
Definition at line 507 of file VDBArchive.cpp.