| Csl::Alloc | Set of static functions for allocating templated memory via malloc() and associated functions |
| Csl::Array< T > | The Array class provides functionality similar to std::vector, except that it does not construct or destruct elements, and does not allow insertions or append. This is for performance reasons when initialization is not required. However, this makes it unsuitable for anything other than primitive datatypes or other structures movemable with a simple memcpy() |
| Csl::Array< K > | |
| Csl::Array< kv_pair_struct > | |
| Csl::Array< size_t > | |
| Csl::Array< V > | |
| ▼Cbad_alloc | |
| Csl::NotEnoughMemoryException | |
| Csl::ConstArray< T > | The ConstArray class provides functionality similar to std::vector, except that it does not construct or destruct elements, does not allow insertions or appending, and can use memory it does not own for storage. This is for performance reasons when initialization is not required. However, this makes it unsuitable for anything other than primitive datatypes or other structures movemable with a simple memcpy() |
| Csl::FastIntDistribution< T > | This distribution is designed to be fast and consistent across platforms. However, it will not be uniform |
| Csl::FixedMap< K, V > | The FixedMap class provides a map implementation which allows for insertion, querying, and deletion in constant time. While std::unordered_set may give constant time complexity of these operations through a hash table, this does so through fixed size dense vector (no hashing), and store the data in a contiguous chunk of memory |
| Csl::FixedPriorityQueue< K, V > | The FixedPriorityQueue class provides a priority queue implementation with the standard O(log n) insertion, deletion, pop, and update operations, but in addition can perform non-modifying queries in O(1) time |
| Csl::FixedSet< T > | The FixedSet class provides a set implementation which allows for insertion, querying, and deletion in constant time. While std::unordered_set may give constant time complexity of these operations through a hash table, this does so through fixed size dense vector (no hashing) |
| Csl::Geometry | |
| Csl::FixedPriorityQueue< K, V >::ValueSet::Iterator | |
| Csl::Random | Wrappers around base 'random' functionality, such as getting a number within a given range, shuffling elements, or filling an array with large amounts of random data. This class assumes psuedo-randomness is sufficient and that performance is more important, and thus should not be used where unpredictability or uniform distribution is desired |
| Csl::Timer::Scope | This class provides a means of timing a scoped region. It begins timing when it is created, and adds its duration to the parent timer when it is destroyed |
| Csl::Sort | |
| Csl::Timer | This class is used to perform wall timings of varius tasks. It provides means to meanually start and stop a timer: |
| Csl::FixedPriorityQueue< K, V >::ValueSet | |
| Csl::VectorMath | Static functions for manipulating numerical data in vectors. This includes operations for summation, scaling, dot products, cross products, prefix sums, etc. |