A collection of useful C++ routines.
Go to file
Danny Robson e6b15d2a85 j/tree: remove ambiguous string parse call
single pointer string parsing can be confused with filesystem paths.
instead prefer the two pointer range form.
2015-09-08 14:32:48 +10:00
build-aux build: bump tap-driver 2015-03-02 00:05:09 +11:00
coord coord: use almost_equal for equality 2015-07-21 01:39:14 +10:00
crypto c/xxtea: reduce scope of variable 2015-06-04 22:19:11 +10:00
hash h/murmur: remove unused source file 2015-06-04 22:18:00 +10:00
json j/tree: remove ambiguous string parse call 2015-09-08 14:32:48 +10:00
m4 m4: require c++1z support 2015-08-10 15:43:41 +10:00
maths m/fast: add some fast maths approximations 2015-07-29 16:11:48 +10:00
net build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
noise n/f/runtime: return reference to child on reset 2015-08-28 21:08:41 +10:00
posix posix: add dir wrapper 2015-08-10 15:50:12 +10:00
test float: lower ULPs threshold for almost_equal 2015-08-20 15:34:20 +10:00
threads threads: add posix/win32 thread wrappers 2015-08-10 15:51:10 +10:00
tools noise-tool: expose more parameters via commandline 2015-08-28 21:09:21 +10:00
types traits: remove deprecated auto_ptr specialisation 2015-04-29 17:47:37 +10:00
win32 win32: add registry wrapper 2015-08-10 15:50:43 +10:00
.gitignore uri: add simple uri parser 2015-02-09 17:43:24 +11:00
aabb.cpp aabb: add diameter method 2015-04-15 17:16:34 +10:00
aabb.hpp aabb: add diameter method 2015-04-15 17:16:34 +10:00
backtrace_execinfo.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
backtrace_null.cpp whitespace 2015-04-13 18:06:08 +10:00
backtrace_win32.cpp Initial framework for win32 backtrace 2012-05-10 16:54:47 +10:00
backtrace.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
bezier.cpp polynomial: rename solve as roots 2015-07-21 02:59:14 +10:00
bezier.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
bitwise.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
bitwise.hpp whitespace 2015-04-13 18:06:08 +10:00
cmdopt.cpp whitespace 2015-07-21 03:17:04 +10:00
cmdopt.hpp cmdopt: add value option accessor 2015-06-30 22:24:44 +10:00
cmdopt.ipp cmdopt: add value option accessor 2015-06-30 22:24:44 +10:00
colour.cpp colour: move json deserialisation into cpp 2015-09-08 14:32:17 +10:00
colour.hpp colour: move json deserialisation into cpp 2015-09-08 14:32:17 +10:00
colour.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
configure.ac build: remove reference to long dead test Makefile 2015-06-04 22:29:23 +10:00
coord.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
debug.cpp style 2015-08-25 17:13:49 +10:00
debug.hpp debug: add missing required header 2015-08-10 15:41:34 +10:00
Doxyfile.in Disable latex doxygen output 2013-08-05 16:36:15 +10:00
endian.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
endian.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
except.cpp except: add throw_code for win32_error 2015-08-10 15:42:58 +10:00
except.hpp except: mark errno_error::throw_code as noreturn 2015-08-10 15:43:12 +10:00
exe.cpp whitespace 2015-04-13 18:06:08 +10:00
exe.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
extent.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
extent.hpp extent: define 3f and 3u variants 2015-08-28 20:34:58 +10:00
extent.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
fixed.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
fixed.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
float.cpp float: bump almost_equal delta slightly 2015-08-25 17:18:31 +10:00
float.hpp float: almost_equal takes unsigned ULPs 2015-01-29 15:44:30 +11:00
format.cpp format: add trivial printf wrapper 2015-07-21 01:37:45 +10:00
format.hpp format: add trivial printf wrapper 2015-07-21 01:37:45 +10:00
format.ipp format: add trivial printf wrapper 2015-07-21 01:37:45 +10:00
fourcc.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
fourcc.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
gcc.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
guid.cpp whitespace 2015-04-13 18:06:08 +10:00
guid.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
hash.hpp hash: extract fnv1a hashes to new unit 2015-06-02 21:36:30 +10:00
image.cpp image: more explicit instantations 2015-08-18 00:00:35 +10:00
image.hpp image: make offset constexpr, and move inline 2015-07-24 01:36:11 +10:00
image.ipp image: make offset constexpr, and move inline 2015-07-24 01:36:11 +10:00
introspection.cpp introspection: add simple static introspection types 2015-04-20 17:51:00 +10:00
introspection.hpp introspection: map tuples to themselves in type_tuple 2015-05-01 02:49:19 +10:00
io_posix.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
io_posix.hpp io: rename fd_ref to fd 2015-06-11 19:27:42 +10:00
io_win32.cpp build: windows fixes 2015-07-23 13:53:48 +10:00
io_win32.hpp build: windows fixes 2015-07-23 13:53:48 +10:00
io.cpp io: add more write overloads 2015-07-02 16:34:17 +10:00
io.hpp build: windows fixes 2015-07-23 13:53:48 +10:00
io.ipp io: add more write overloads 2015-07-02 16:34:17 +10:00
ip.cpp.rl sign_cast to avoid char-to-uint warning 2012-06-13 16:01:42 +10:00
ip.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
iterator.hpp whitespace 2015-04-13 18:06:08 +10:00
library_posix.cpp library: initial wrapper 2015-08-10 15:51:44 +10:00
library_posix.hpp library: initial wrapper 2015-08-10 15:51:44 +10:00
library_win32.cpp library_win32: add string constructor 2015-08-25 17:13:35 +10:00
library_win32.hpp library: initial wrapper 2015-08-10 15:51:44 +10:00
library.hpp library: initial wrapper 2015-08-10 15:51:44 +10:00
LICENCE relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
log.cpp log: add scoped timer 2015-07-23 17:37:43 +10:00
log.hpp log: add scoped timer 2015-07-23 17:37:43 +10:00
log.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
Makefile.am threads: add references to forgotten thread files 2015-08-28 21:09:38 +10:00
maths.cpp maths: correct constness of PI instantiations 2015-05-15 11:01:11 +10:00
maths.hpp maths: add kahan summation 2015-08-25 17:25:55 +10:00
maths.ipp maths: use templated PI and E constants 2015-04-29 17:45:39 +10:00
matrix.cpp matrix: add convenience homogenous point/vec mult 2015-07-21 01:41:48 +10:00
matrix.hpp matrix: add convenience homogenous point/vec mult 2015-07-21 01:41:48 +10:00
matrix.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
memory.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
memory.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
netpbm.cpp build: windows fixes 2015-07-23 13:53:48 +10:00
netpbm.hpp netpbm: add write methods with ostreams 2015-06-11 19:30:02 +10:00
nocopy.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
noise.cpp noise: use points instead of scalars in eval 2015-05-28 10:18:32 +10:00
noise.hpp n/fractal: use inline headers for fractals 2015-06-01 17:30:18 +10:00
noise.ipp n/fractal: extract each type into seperate units 2015-06-01 16:21:26 +10:00
pascal.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
pascal.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
plane.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
plane.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
platform.hpp platform: detect android platform 2015-08-10 15:44:39 +10:00
point.cpp point: operate on value types, not references 2015-04-15 14:14:01 +10:00
point.hpp coord: use template typedefs 2015-07-24 01:34:44 +10:00
point.ipp point: convert distance member functions to functions 2015-06-01 15:29:24 +10:00
polynomial.cpp polynomial: rename solve as roots 2015-07-21 02:59:14 +10:00
polynomial.hpp polynomial: rename solve as roots 2015-07-21 02:59:14 +10:00
polynomial.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
pool.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
pool.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
pool.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
preprocessor.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
quaternion.cpp quaternion: update with more operators 2015-07-13 16:30:54 +10:00
quaternion.hpp quaternion: add convenience float typedef 2015-07-21 01:39:38 +10:00
raii.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
random.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
random.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
random.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
range.cpp whitespace 2015-04-13 18:06:08 +10:00
range.hpp whitespace 2015-04-13 18:06:08 +10:00
range.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
rational.cpp rational: update with more operators 2015-07-13 16:30:54 +10:00
rational.hpp rational: update with more operators 2015-07-13 16:30:54 +10:00
ray.cpp ray: add convenience point-point constructor 2015-04-15 18:59:28 +10:00
ray.hpp ray: add convenience point-point constructor 2015-04-15 18:59:28 +10:00
README add a stub README 2015-04-13 18:10:27 +10:00
region.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
region.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
si.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
si.hpp whitespace 2015-04-13 18:06:08 +10:00
signal.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
signal.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
signal.ipp whitespace 2015-04-13 18:06:08 +10:00
sphere.cpp sphere: add ostream operator 2015-04-15 18:00:58 +10:00
sphere.hpp sphere: add ostream operator 2015-04-15 18:00:58 +10:00
stats.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
stats.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
stream.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
stream.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
string.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
string.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
stringid.cpp whitespace 2015-04-13 18:06:08 +10:00
stringid.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
tap.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
tap.hpp tap: remove default format strings 2015-07-21 03:17:20 +10:00
tap.ipp tap: use printf style output messages 2015-07-21 02:53:46 +10:00
time_posix.cpp time: split off platform units 2015-07-23 14:13:09 +10:00
time_win32.cpp time: split off platform units 2015-07-23 14:13:09 +10:00
time.cpp time: split off platform units 2015-07-23 14:13:09 +10:00
time.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
tuple.cpp tuple: add tuple iteration helpers 2015-04-20 17:48:11 +10:00
tuple.hpp tuple: add function caller with argument unpacking 2015-08-10 15:44:15 +10:00
types.hpp types: add type_tag helper struct 2015-04-20 17:48:11 +10:00
uri.cpp.rl uri: turn off parser tracing 2015-02-11 16:43:27 +11:00
uri.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
variadic.cpp variadic: add index helper type 2015-04-20 17:13:14 +10:00
variadic.hpp variadic: add index helper type 2015-04-20 17:13:14 +10:00
variadic.ipp variadic: add index helper type 2015-04-20 17:13:14 +10:00
vector.cpp vector: add {to,from}_euler 2015-07-21 02:56:37 +10:00
vector.hpp coord: use template typedefs 2015-07-24 01:34:44 +10:00
vector.ipp vector: add homogenous converter 2015-07-21 01:41:48 +10:00
version.cpp.rl version: silence potential use before assign 2015-07-13 16:30:54 +10:00
version.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
view.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
view.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
zlib.cpp whitespace 2015-04-13 18:06:08 +10:00
zlib.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00

A simple cross-platform C++ utility library.