geomc 1.0
A c++ linear algebra template library
Classes | Enumerations
Storage

Classes for arrays with templated static or dynamic size. More...

Classes

class  CircularBuffer< T, N >
 A lightweight circular buffer. More...
 
struct  Dimension< N >
 Defines a type for storing a length or element count. More...
 
struct  Dimension< DYNAMIC_DIM >
 
struct  Storage< T, N >
 Array storage with templated static or dynamic size. More...
 
struct  Storage< T, DYNAMIC_DIM >
 
struct  SizedStorage< T, N >
 Array storage with templated static or dynamic size. If the array is dynamic, its length is stored internally and can be queried. More...
 
struct  SizedStorage< T, DYNAMIC_DIM >
 
struct  UniqueStorage< T, N >
 Array storage with templated static or dynamic size, and without reference counting. More...
 
struct  UniqueStorage< T, DYNAMIC_DIM >
 
struct  GenericStorage< T, N, P >
 Array storage with templated static or dynamic size, and template-selectable ownership policy. More...
 
struct  WrappedStorage< T, N >
 Array storage with templated static or dynamic size, acting as a thin, templated wrapper around a bare array which is memory managed by the caller. More...
 
class  SmallStorage< T, N >
 Array storage which does not allocate from the heap unless the requested size is larger than a threshhold, N. More...
 
struct  GenericStorage< T, N, STORAGE_WRAPPED >
 
struct  GenericStorage< T, N, STORAGE_UNIQUE >
 
class  SubtreeBase< NodeItem, LeafItem, Const >
 Base class for all iterators into Trees. More...
 
class  Subtree< NodeItem, LeafItem >
 A non-const iterator to a subtree. More...
 
class  ConstSubtree< NodeItem, LeafItem >
 An const iterator to a subtree. More...
 
class  Tree< NodeItem, LeafItem >
 A dynamic tree of arbitrary arity. More...
 

Enumerations

enum  StoragePolicy { STORAGE_SHARED , STORAGE_UNIQUE , STORAGE_WRAPPED }
 

Detailed Description

Classes for arrays with templated static or dynamic size.

Enumeration Type Documentation

◆ StoragePolicy

Enumerator
STORAGE_SHARED 

Dynamically-sized storage will use reference counting to manage memory; all copies of the Storage object share the same underlying array.

STORAGE_UNIQUE 

Dynamically-sized storage is assumed to have a single owner, and the underlying array will be duplicated on copy or assignment.

STORAGE_WRAPPED 

Backing storage is provided and managed by the caller.