Honeycomb
0.1
Component-Model Framework
|
►Nhoney | Global Honeycomb namespace |
►Napp | Top-level application methods |
CModule | An application module, holds a task and its dependencies |
CModuleRegistry | List of application modules |
►Natomic | Atomic operations |
COp | Methods to perform thread-safe atomic read/write operations |
CSwapType | Get the smallest atomically-swappable type that is large enough to hold T |
►Nbloom_filter | BloomFilter util |
Chash | Functor used to generate hash. Each hashIndex for the same object must produce a unique hash |
CKey | Caches multiple hashes of an object. The key can be inserted into a bloom filter and tested very quickly |
►Ndebug | Debug Mode Functions |
CAssertionFailure | Thrown on debug assert() failure |
►Nexception | Exception util |
CStd | Wrapper around std exception to allow for polymorphic throw |
CUnknown | |
►Nfuture | Future util |
CAlreadySatisfied | |
CAsyncSched | |
CAsyncSched_tag | |
CBroken | Exceptions |
CFutureAlreadyRetrieved | |
CNoState | |
►Nhash | Data hashing functions. Produce a small fingerprint from a larger data set. Two data sets may 'collide', producing the same fingerprint |
Csval | 256-bit secure hash value |
►Njson | Json string serialization format methods |
►CConfig | Configuration for json value variant |
CObjectOrdered | |
Cnull_t | Json null value type |
CValue_ | Json value variant. Provide a Config to customize the variant's bounded types |
CValueError | |
►Nlockfree | Lock-free methods and containers |
CBackoff | Exponential backoff algorithm. Backoff spins for first X ticks, then sleeps with a time that doubles every X ticks thereafter |
CFreeList | Lock-free freelist, allocates re-usable objects and provides automatic storage expansion for concurrent algorithms |
CFreeListAllocator | |
CHazardMem | Lock-free memory manager, provides safe memory reclamation for concurrent algorithms |
CHazardMemConfig | Configuration interface for memory manager. Inherit this class and override types and static members |
CHazardMemLink | Base link class, contains a generic Cas-able data chunk. The data chunk contains a pointer to a HazardMemNode |
CHazardMemNode | Base node class, inherit from this class, add link members, and use as Node type in HazardMemConfig |
►CList | Lock-free doubly-linked list |
CIter_ | Iterator |
CIterR_ | Reverse iterator |
CQueue | Lock-free FIFO queue. Uses auto-expanding freelist allocator so memory is only reclaimed upon destruction |
CSpscDeque | Deque that is lock-free only when used by a single producer and consumer, otherwise contention is split between front and back locks |
CStack | Lock-free FILO stack. Uses auto-expanding freelist allocator so memory is only reclaimed upon destruction |
CUnorderedMap | Lock-free unordered map. Uses auto-expanding freelist allocator so memory is only reclaimed upon destruction |
►Nlog | Logger methods |
CBufferSink | Captures records in a buffer |
CFileSink | Formats record to a file stream |
CSink | |
CStreamSink | Formats record to a stream |
►Nmatrix | Matrix util |
►Npriv | Matrix implementation details |
CBlockTraits | |
CStorage | Chooses storage based on traits |
CStorageAuto | Automatic (stack-compatible) dense storage |
CStorageAutoArray | |
CStorageAutoArray< Real, Size, 16 > | |
CStorageBlock | Block wrapper around any constant matrix with auto / dynamic dense storage type. Fully recursive, a block can wrap a block |
CStorageDense | |
CStorageDynamic | Dynamic (heap) dense storage |
CTraits | |
CTraits< Block< MatrixP, Rows, Cols > > | |
CTraits< Block< Vec, 1, 1 > > | 1x1 block traits |
CTraits< Block< Vec, 1, Cols > > | Column vector block traits |
CTraits< Block< Vec, Rows, 1 > > | Row vector block traits |
CTraits< Matrix< Rows, Cols, Real_, Options, Alloc_ > > | (m x n)-dimensional matrix traits |
CTraits< Vec< 1, Real, Options > > | |
CTraits< Vec< 2, Real, Options > > | |
CTraits< Vec< 3, Real, Options > > | |
CTraits< Vec< 4, Real, Options > > | |
CTraits< Vec< Dim, Real, Options, Alloc > > | |
CTraits< VecSwizCon< Dim, Real, Options > > | |
CTraits< VecSwizRef< Dim, Real, Options > > | |
CBlock | Matrix block view |
CBuilder | Matrix comma initializer |
CIter | Matrix element iterator |
►COption | Matrix type options |
CgetAlign | |
CsetAlign | Alignment must be a power of 2 |
►Nmt | Meta-programming and compile-time util |
Cconditional_int | Variant of std::conditional for integers, stores result in value |
Cconditional_int< true, t, f > | |
CelemOf | Get range element type |
CFuncptr | |
CFuncptr< R(Args...)> | Holds a function pointer so that a functor can be called non-virtually. The functor must inherit from FuncptrBase |
CFuncptr< void(Args...)> | Specialization for void return type |
CFuncptrBase | Inherit to enable non-virtual functor calling |
CfuncTraits | Get function type traits |
Cgcd | Calc greatest common divisor of a and b |
Cgcd< 0, b > | |
Cgcd< a, 0 > | |
Cidentity | Returns type T unchanged |
Cis_base_of | Version of std::is_base_of that removes reference qualifiers before testing |
CisCallable | Check if functor is callable with arguments |
CisRange | Check if type is a range or a reference to one. A range is a type where std::begin(range) is a valid call |
CisSpecializationOf | Check if T is a specialization of Template |
CisSpecializationOf< Template< Param... >, Template > | |
Citer_endOf | Get range iterator end type |
CiterOf | Get range iterator begin type |
Clog2Floor | Calc log base 2 of unsigned integer, rounded down to nearest integer. Returns -1 if x is zero |
Clog2Floor< 0 > | |
Cmax | Get maximum of all arguments |
Cmax< val > | |
Cmax< val, vals... > | |
Cmin | Get minimum of all arguments |
Cmin< val > | |
Cmin< val, vals... > | |
CNoCopy | Inherit to declare that class is not copyable |
Ctag | Use to differentiate an overloaded function by type. Accepts dummy parameter default value: func(tag<0> = 0) |
CTrue | Always returns true. Can be used to force a clause to be type dependent |
CTrue_int | Variant of True for integers |
CVoid | Special void type, use where void is intended but implicit members are required (default ctor, copyable, etc.) |
►Nnet | Net util |
CSocket | Socket class |
CStreamBuf_ | Automatically resizable buffer class based on ByteStreamBuf |
►Nthread | Thread util |
CInterrupted | Interrupted exception |
CInterruptEnable | Enable / disable interrupts in the current thread's scope |
CLocal | Local thread storage. Multiple threads can access one Local object, but each thread will only see its own separate "local" instance |
►CPool | Spreads task execution across a pool of re-usable threads. Uses a lock-free work-stealing queue to ensure workers are never idle |
CTask | All tasks must inherit from this class. std::function is not used here to avoid the operator() virtual call |
►Nvec | Vec util |
►Npriv | Vec implementation details |
CSegment | Vector segment view |
CStorage | Auto or dynamic vector storage |
CStorageFields | Automatic (stack-compatible) vector storage that allows direct access to dimension fields |
CStorageFieldsMixin | |
CStorageFieldsMixin< Real, 1, Align > | |
CStorageFieldsMixin< Real, 2, Align > | |
CStorageFieldsMixin< Real, 3, Align > | |
CStorageFieldsMixin< Real, 4, 16 > | |
CStorageFieldsMixin< Real, 4, Align > | |
CTraits | N-dimensional vector traits |
CAlge_ | Algebra |
►CAllocator | Std::allocator compatible allocator |
Crebind | |
CAllocatorObject | Objects that inherit from this class will use Alloc for new/delete ops |
►CApp | Top-level application flow controller, provides entry point and run loop |
CTerminated | Process terminated. Use this interrupt to exit the run loop |
CAtomic | |
CAtomic< T *, false > | Wrapper around pointer type to make all operations atomic and sequentially consistent |
CAtomic< T, false > | Wrapper around a trivially copyable type to make load/store operations atomic and sequentially consistent |
CAtomic< T, true > | Wrapper around integral type to make all operations atomic and sequentially consistent |
CBackSub | Back substitute to solve a linear system |
CBeta_ | Generate a random variate from a beta distribution |
CBetaInc | Evaluate the incomplete beta function |
CBinomial_ | Generate a random integer variate from a binomial distribution |
CBinomialNeg_ | Generate a random integer variate from a negative binomial distribution |
CBisect | Find the root of a function by the bisection method. ie. Finds where function returns 0 |
CBisectN | Find the root of a set of functions by the bisection method. ie. Finds (x,y,...) where all functions return 0 |
CBitOpCommon | Bit util common to any endian type. Use through class BitOp |
CBitOpEndian | Bit util specific to endian type. Use through class BitOp |
CBitOpEndian< static_cast< int >(Endian::big)> | Specialization for big endian |
CBitOpEndian< static_cast< int >(Endian::little)> | Specialization for little endian |
CBitSet_ | A compact array of bits. Dynamic version of std::bitset |
CBloomFilter | A space-efficient probabilistic data structure that is used to test set membership. Can be tuned to use less space at the expense of increased false positive probabilty |
►CBootstrap | Monte Carlo (random-based) method to estimate the interval of confidence in a function's result, when that function operates on samples from a complex or unknown distribution |
CmeanFunc | Functor to estimate the sample mean |
CvarianceFunc | Functor to estimate the sample variance. This is the unbiased estimator (mean over all possible samples is the population variance) |
CBuffer | A contiguous region of referenced (not owned by object) memory |
CByteArray | Fixed array of N bytes |
CBytes | String of bytes |
CByteStream | An I/O stream into which objects may be serialized and subsequently deserialized |
CByteStreamBuf | A stream I/O buffer of bytes, to be passed into ByteStream |
►CChacha | ChaCha8, a cryptographically secure pseudo random number generator |
CState | Generator State |
CChiSqr_ | Generate a random variate from a noncentral chi-square distribution |
CComObject | Component object. Object that consists of a collection of components |
CComponent | Base class for components. Components can only be attached to one ComObject at a time |
►CComRegistry | Holds global list of all component types |
CType | Component type |
CCondition | Method to synchronize threads. Condition variables eliminate the need for repeated polling to check the value of some data |
CConditionAny | Condition that can be used with any kind of lock. Slightly slower than the default Condition class |
CConditionLock | Lock that is bound to a single condition. This is the common usage case of condition variables |
CDefaultAllocator | Returns T::Allocator<T> if available, otherwise std::allocator<T> |
CDefaultAllocator< T, typename mt::True< typename T::template Allocator< T > >::type > | |
CDefaultAllocator< T[], std::true_type > | |
►CDepGraph | Dependency graph. Collects nodes and builds a searchable directed graph |
CIter_ | Depth-first pre-order iterator over vertices |
CNodeIter_ | Depth-first pre-order iterator over nodes. Iterates over nodes that constitute each vertex in a vertex range |
CVertex | A vertex is initially associated with one key and acts like a multi-map, storing all nodes and graph links of DepNodes matching that key |
CDepNode | Dependency node for insertion into graph |
CDepSched | Scheduler that serializes and parallelizes task execution given a dependency graph of tasks and a pool of threads |
CDepTask | Base class of DepTask_ , can be added to scheduler. Instances must be created through class DepTask_ |
CDepTask_ | Holds a functor and dependency information, enqueue in a scheduler to run the task |
Cderef_wrap | Wraps a pointer so that it behaves similar to a reference |
CDiscrete_ | Generate random integer variate between min and max inclusive with uniform (flat) distribution |
CDiscreteGen_ | Generate a random integer variate from a generalized discrete distribution |
CDouble_ | Defines 64-bit floating point operations and constants |
CDuration | Duration represented by repetitions of a period. The period must be a ratio |
CEigen | Eigendecomposition. Decomposes any square (n x n) symmetric matrix into eigenvalues and eigenvectors |
CEnumElem | Base class of all generated enum classes. A single element in the enumeration. See Enumeration Classes |
CEnumError | |
►CEnumInfo_ | Run-time info about an enum class. Contains a list of elements and maps for element lookups. See Enumeration Classes for more info and examples |
CElem | |
►CException | Base exception class. Exceptions inherited from this class provide debug info and can be thrown polymorphically (unlike standard c++ exceptions) |
CMsgStream | Custom error message builder |
CRaiser | Helper to raise an exception after the right side of ^ has been evaluated |
CSource | Info about source where exception was thrown |
Cfinalize | Functor to delete a pointer |
Cfinalize< T[], std::allocator< T > > | Specialization for array |
Cfinalize< void, std::allocator< void > > | Specialization for void |
CFloat_ | Defines floating point operations and constants |
CFuture | Unique future, guarantees sole access to a future function result |
CFutureBase | Base class for Future types |
CFutureCommon | Mixin for common future methods |
CGamma_ | Generate a random variate from a gamma distribution |
CGammaFunc_ | Class to evaluate Gamma and related functions |
CGaussian_ | Generate a normally (Gaussian) distributed random variate |
CHyperGeo_ | Generate a random integer variate from a hypergeometric distribution |
CId | Holds a name string and its hashed value for fast comparison ops. See String Identifier |
CIdLiteral | Id created from a string literal at compile-time |
CInterp_ | Interpolation math |
CIntIter | Incremental integer iterator (step size = 1). See range(int, int) to create |
CIntStepIter | Integer iterator with step size. See range(int, int, int) to create |
Clazy | Wraps a value so that it is calculated only when needed. A lock synchronizes access |
CLinearLeastSqr | Linear least squares solver |
CListener | Holds a slot that can receive signals |
►CListenerList | Collection of listeners |
CCallback | Callback to handle events from this class |
CListenerQueue | Listener that holds queued slot for delayed processing of signals |
►CLog | Logger |
CRecordStream | Builds a record |
CManip | Base class to hold iostream manipulator state. Inherit from this class and call Subclass::inst(ios) to attach an instance of Subclass to an iostream |
CManipFunc | Helper to create a manipulator that takes arguments |
CMatrix | (m x n)-dimensional matrix |
CMatrix< 1, 1, Real, Options > | Matrix 1x1 vector |
CMatrix< 1, Dim, Real, Options, Alloc_ > | Matrix row vector |
CMatrix< 4, 4, Real, Options > | 4x4 homogeneous matrix class. Supports both affine and projective operations |
CMatrix< Dim, 1, Real, Options, Alloc_ > | Matrix column vector |
CMatrixBase | Matrix base class |
CMemPool | Memory pool |
CMemPoolAllocator | MemPool allocator |
CMinimize | Find a local minimum of a 1-dimensional function using "Brent's method" – bisection and inverse quadratic interpolation |
CMinimizeN | Find a local minimum of an n-dimensional function using "Powell's conjugate gradient descent method" |
CMonoClock | System-wide monotonic clock. High-resolution and steady-rate time since application start, can't go backwards |
►CMtMapCommon | Common functions between map elem and the map tail specialization. Use through class MtMapElem |
Cempty_ | Check if empty at compile-time |
ChasKey_ | Check if key exists at compile-time |
Csize_ | Get size of map at compile-time |
CMtMapElem | Map element in recursive list |
CMtMapIter | Bidirectional iterator over map key/value pairs |
CMtPair | Key/value pair. A pair can be constructed with the syntax: (key() = value) |
CMutex | A thread lock where the lock is acquired by suspending thread execution until it becomes available |
CNameId | Holds both a name string and its hashed value, and unlike Id the name is never compiled out |
CNumeral | Numeric type information, use numeral() to get instance safely from a static context |
CNumeralFloat | Numeric type info for floating point types |
CNumeralInt | Numeric type info for integer types |
CObject | Base class for objects |
Coptional | Enables any type to be optional so it can exist in an uninitialized null state |
Coptional< T & > | Specialization for references |
Coptnull_t | Null optional type |
Coverload_ | |
Coverload_< Func, Funcs... > | An overloaded visitor functor |
Coverload_<> | |
CPackagedTask | A container that wraps a function so that its result is stored in a future when invoked |
CPackagedTask< R(Param...)> | |
CPeriodicSched | Scheduler that executes tasks periodically or after a delay given a pool of threads |
►CPeriodicTask | Base class of PeriodicTask_ , returned by scheduler |
CCancelled | Future result when cancelled |
CPeriodicTask_ | Holds a functor and period information, returned by scheduler |
►CPermute_ | Generate all permutations of a list. A functor can be specified for fast culling of entire subtrees of undesired permutations |
CIter | Iter for permutations of a list |
CPoisson_ | Generate a random integer variate from a poisson distribution |
CPolynomial | Polynomial algorithms |
CPromise | Container to hold a delayed function result |
CProperty | Generic property |
CProperty< vector< T > > | Generic vector property |
CPropertyBase | Base class for all properties |
CPropertyError | |
CPropertyObject | Object that contains properties |
CQrd | QR Decomposition. Can be used to solve least squares problems |
CQuad_ | Defines 128-bit floating point operations and constants |
CQuat_ | Quaternion rotation class. Represents a counter-clockwise rotation of an angle about its axis |
►CRandom_ | Random-related methods |
CDistStats | |
CRandomDist | Base class for all random distributions |
CRandomGen | Random number generator interface |
CRange_ | Iterator range. See range(Iter1&&, Iter2&&) to create |
►CRatio | Class to hold compile-time finite rational numbers, ie. the fraction num / den |
Cadd | Operator+ |
Cdiv | Operator/ |
Cequal | Operator== |
Cgreater | Operator> |
CgreaterEqual | Operator>= |
Cless | Operator< |
ClessEqual | Operator<= |
Cmul | Operator* |
CnotEqual | Operator!= |
Csub | Operator- |
CRealBase | Base class for real number operations |
CRealIter | Real number iterator. See range(Real, Real, Real) to create |
Crecursive_wrap | Allows for recursive type definitions, eg. class Object : vector<recursive_wrap<Object>> |
CRingIter | Ring iterator. See ringRange() to create |
CScopeGuard_ | Run a function at scope exit. See ScopeGuard() to create |
CSharedFuture | Shared future, allows multiple access to a future function result |
CSharedLock | A scoped lock that references a shared mutex. Does a shared read lock on construction and unlocks on destruction |
CSharedMutex | A thread lock for shared data where there may be many readers and one writer |
CSharedObj | Reference-counted object for intrusive shared pointers |
CSharedPtr | Combined intrusive/non-intrusive smart pointer. Can reference and share any object automatically |
CSignal | Multicast sender |
CSimplexNoise | Generate smooth noise over space. Implementation of Perlin's "Simplex Noise" generator |
CSimplexNoiseCommon | Methods common to all simplex noise dimensions |
CSinTable | Speeds up all trig functions at the cost of precision. Precision is roughly 1 / size |
CSlotBase | Multicast receiver |
CSmallAllocator | Global allocator for small memory blocks. To provide a custom pool define SmallAllocator_createSingleton_ and implement SmallAllocator_createSingleton() |
CSpinLock | A thread lock where the lock is acquired through a busy wait loop |
CString | Unicode UTF-16 string class, wrapper around std::u16string |
►CStudentT_ | Generate a random variate from a Student's t-distribution |
CPooledStats | |
CStats | |
CSvd | Singular Value Decomposition. Can be used to calculate the pseudo-inverse of any matrix or solve least squares problems |
CSystemClock | System-wide real-time clock. Low-resolution time since Unix Epoch, can possibly go backwards if changed by OS |
CThread | Thread class |
CTimedMutex | A mutex that has a timed try-lock |
CTimePoint | TimePoint represented by a duration since a clock's epoch time |
CTransferLock | Scoped transfer of mutex ownership between two locks |
CTransform_ | A 3D linear transform from TRS components (translation, rotation, and scale/skew) |
CTreeClone | Clone and track changes to an entire tree |
►CTreeNode | Unrooted acyclic tree |
CPreOrdIter_ | Depth-first pre-order traversal |
CTrig_ | Trigonometry |
CTupleIter | Wrapper around an iterator with tuple value type. When dereferenced returns I 'th element |
CTupleIter< Iter, I, std::bidirectional_iterator_tag > | |
CTupleIter< Iter, I, std::forward_iterator_tag > | |
CUniform_ | Generate a random variate between min and max non-inclusive with uniform (flat) distribution |
CUniqueLock | A scoped lock that references any lockable. Locks on construction and unlocks on destruction |
CUniquePtr | Pointer to a unique, non-shared, object. Finalizer is run upon destruction (deletes object by default) if pointer is not null |
►Cvariant | Multi-typed value. A variant is a value of any type from a fixed set of bounded types, the active bounded type may be changed dynamically |
Csize_ | Get number of bounded types at compile-time |
CType | Get bounded type for id |
CVariantError | |
CVec | N-dimensional vector |
CVec< 1, Real, Options > | 1D vector |
CVec< 2, Real, Options > | 2D vector |
CVec< 3, Real, Options > | 3D vector |
CVec< 4, Real, Options > | 4D vector |
CVecBase | Vector base class |
CVecSwizCon | Vector for const swizzle operators |
CVecSwizCon< 2, Real, Options > | 2D const swizzle vector |
CVecSwizCon< 3, Real, Options > | 3D const swizzle vector |
CVecSwizCon< 4, Real, Options > | 4D const swizzle vector |
CVecSwizConBase | |
CVecSwizRef | Vector reference holder for mutable swizzle operators |
CVecSwizRef< 2, Real, Options > | 2D mutable swizzle vector |
CVecSwizRef< 3, Real, Options > | 3D mutable swizzle vector |
CVecSwizRef< 4, Real, Options > | 4D mutable swizzle vector |
CVecSwizRefBase | |
CVegas | Monte Carlo (random-based) method to approximate the integral of a function over any number of dimensions |
CWeakPtr | Point to a shared object without holding a reference. The object is accessible through a lock, which prevents unexpected destruction |
CWeibull_ | Generate a random integer variate from a weibull distribution |
►Nstd | STL namespace |
Ccommon_type< honey::Duration< Rep, Period >, honey::Duration< Rep2, Period2 > > | Get common duration between two durations. The period of the resulting duration is the greatest common divisor |
Ccommon_type< honey::Ratio< Num, Den >, honey::Ratio< Num2, Den2 > > | Get common ratio between two ratios |
Chash< honey::bloom_filter::Key< T, Alloc > > | Adapter for std hasher |
Chash< honey::SharedPtr< T > > | Allow class to be used as key in unordered containers |
Chash< honey::UniquePtr< T, Fin > > | Allow class to be used as key in unordered containers |