Template classes to provide 2D, 3D, and 4D array access and allow
either the memory to be created by the class or the memory to be
passed in but owned by the caller. The objects are stored in
contiguous memory. The classes minimize the number of number of
new and delete calls to the memory allocator.
|
Implementations of atomic minimum and atomic maximum computations,
which are based on std::atomic_compare_exchange_strong.
|
Support for creating hash functions to be used by std::unordered_map
and std::unordered_set.
|
Template classes to provide 2D array access that conforms to row-major
order or column-major order, whichever the user selects via a Boolean
template parameter.
|
The source code uses a logging system to wrap exception handling.
|
Implementatino of a priority queue with the additional behavior that
non-root heap nodes can have their weights modified followed by an
update that restores the heap to a min-heap. This is useful in several
geometric algorithms. The comments in the header file provide more
details and an example use in a geometric algorithm.
|
The function gte::reverse supports reverse iteration in range-based
for-loops using the auto keyword.
|
Comparison operators for std::shared_ptr. C++ shared pointers already have
comparison operators, but the comparision is for the pointer values themselves.
The operators provided here compare the objects referenced by the pointers.
|
Sorting points in a circular manner about a center point.
|
Utilities for converting between narrow and wide strings and for
converting to lower case or to upper case.
|
A simple wrapper for a std::map using a std::mutex to guard against
concurrent access. The D3D11 engine uses this with a bridge pattern
to store resources created potentially in different threads.
|
A simple wrapper for a std::queue using a std::mutex to guard against
concurrent access. This is used for a producer-consumer model
in resource management.
|
Encapsulation of a 64-bit timer for performance measurements.
|
Comparison operators for std::weak_ptr. C++ weak pointers do not have
comparison operators. The operators provided here compare the objects
referenced by the pointers.
|