Skip to content

Mototroller/ax.ct

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ax.ct Build Status

Some compile-time powahful shit. Contains:

Namespace/Set POWAAAH!
ct Main ulility functions, tuple operations: concat, transform, reduce
ct::ctstr Compile-time string algorithms: strlen, find_substr, count_substr; literal-like string class with interface: at, to_string, substr, concat, eq, string_to_tuple, tuple_to_string
ct::math Compile-time arithmetics and algorithms: array_eq, tuple_to_array, array_to_tuple, isqrt, smallest_divisor, greatest_divisor, gcd; 2 implementations of prime factorization: naive (exponential complexity) and Pollard Rho algorithm (~sqrt complexity)
ct::tree compile-time binary search tree: tree_eq, height, walk (inorder traversal), level_walk (breadth-first traversal), print, search, insert, insert_tuple, parent_of, min_node, remove, remove_tuple
ct::cregex Under construction: compile-time regex-to-DFA engine

Examples

test.cpp contains usage examples of mentioned functions. More complex applications will be introduced later.

Building

Header-only library, has no dependencies: just use your favourite C++11 compiler!

NOTE: clang-3.7 and below has a bug which prevents deducing brace-enclosed list (such as {1UL,2UL,3UL}) to array type (T const(&)[N] -> unsigned long const(&)[3]), so tests wont compile and should be rewritten with explicit test arrays definitions. But I'm too lazy to fix dis right now =)

To infinity and beyond!

Updates to be continued...

Releases

No releases published

Packages

No packages published