HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PagedArray.h File Reference

Concurrent, page-based, dynamically-sized linear data structure with O(1) random access and STL-compliant iterators. It is primarily intended for applications that involve multi-threading push_back of (a possibly unkown number of) elements into a dynamically growing linear array, and fast random access to said elements. More...

#include <vector>
#include <cassert>
#include <iostream>
#include <algorithm>
#include <tbb/atomic.h>
#include <tbb/spin_mutex.h>
#include <tbb/parallel_for.h>
#include <tbb/parallel_sort.h>
+ Include dependency graph for PagedArray.h:

Go to the source code of this file.

Classes

class  openvdb::OPENVDB_VERSION_NAME::util::PagedArray< ValueT, Log2PageSize, TableT >
 Concurrent, page-based, dynamically-sized linear data structure with O(1) random access and STL-compliant iterators. It is primarily intended for applications that concurrently insert (a possibly unkown number of) elements into a dynamically growing linear array, and fast random access to said elements. More...
 
class  openvdb::OPENVDB_VERSION_NAME::util::PagedArray< ValueT, Log2PageSize, TableT >::ValueBuffer
 
class  openvdb::OPENVDB_VERSION_NAME::util::PagedArray< ValueT, Log2PageSize, TableT >::ConstIterator
 
class  openvdb::OPENVDB_VERSION_NAME::util::PagedArray< ValueT, Log2PageSize, TableT >::Iterator
 
class  openvdb::OPENVDB_VERSION_NAME::util::PagedArray< ValueT, Log2PageSize, TableT >::Page
 

Namespaces

 openvdb
 
 openvdb::OPENVDB_VERSION_NAME
 
 openvdb::OPENVDB_VERSION_NAME::util
 

Detailed Description

Concurrent, page-based, dynamically-sized linear data structure with O(1) random access and STL-compliant iterators. It is primarily intended for applications that involve multi-threading push_back of (a possibly unkown number of) elements into a dynamically growing linear array, and fast random access to said elements.

Author
Ken Museth

Definition in file PagedArray.h.