A collection of useful C++ routines.
Go to file
2015-11-24 16:52:47 +11:00
alloc alloc/arena: argument forwarding for acquire 2015-11-24 16:52:14 +11:00
build-aux build: bump tap-driver 2015-03-02 00:05:09 +11:00
coord coord/ops: enable iff types are coords 2015-11-04 23:22:49 +11:00
crypto c/xxtea: reduce scope of variable 2015-06-04 22:19:11 +10:00
geom maths: tighten up type requirements for almost_equal 2015-11-13 17:18:10 +11:00
hash cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
json cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
m4 m4: bump for autocruft 2015-10-12 19:20:29 +11:00
memory memory: rename object_deleter to owner_deleter 2015-11-19 16:46:19 +11:00
net cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
noise cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
posix posix: add dir wrapper 2015-08-10 15:50:12 +10:00
test alloc/arena: add simple test cases 2015-11-24 16:52:47 +11:00
threads threads: use explicit constructors where possible 2015-09-11 19:55:06 +10:00
tools image: templatise on component count 2015-10-20 16:54:15 +11:00
types cast: move types/casts to cast 2015-11-17 16:19:27 +11: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
adapter.cpp adapter: wrappers for iterators and containers 2015-10-19 12:06:23 +11:00
adapter.hpp adapter: wrappers for iterators and containers 2015-10-19 12:06:23 +11:00
backtrace_execinfo.cpp cast: move types/casts to cast 2015-11-17 16:19:27 +11: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
cast.hpp cast: style 2015-11-17 16:38:59 +11:00
cmdopt.cpp cmdopt: use util's implementation of pow 2015-11-13 17:59:58 +11:00
cmdopt.hpp cmdopt: add a simple omnipresent help option 2015-09-11 19:55:32 +10:00
cmdopt.ipp cmdopt: add a simple omnipresent help option 2015-09-11 19:55:32 +10:00
colour.cpp coord: remove inadvertant warning disabling 2015-09-21 15:40:36 +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 backtrace: add addr2line fields in output 2015-10-29 17:52:48 +11:00
coord.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
debug.cpp debug: make panic and friends constexpr 2015-10-29 10:43:41 +11:00
debug.hpp debug: fully qualify *_equal comparators 2015-11-17 14:03:32 +11:00
debug.ipp debug: make panic and friends constexpr 2015-10-29 10:43:41 +11: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 expect conditions for try_code 2015-09-09 18:45:23 +10:00
except.hpp except: mark errno_error::throw_code as noreturn 2015-08-10 15:43:12 +10:00
exe.cpp cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
exe.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
extent.cpp maths: tighten up type requirements for almost_equal 2015-11-13 17:18:10 +11:00
extent.hpp extent: add convenience size typedefs 2015-10-19 17:09:00 +11:00
extent.ipp extent: add a point inclusion query 2015-09-16 02:26:00 +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: style 2015-11-13 17:18:10 +11:00
float.hpp float: style 2015-11-13 17:18:10 +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: recognise specifiers for char*, size_t 2015-09-21 16:34:15 +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: fix parameter names in mix wrappers 2015-09-15 21:06:00 +10:00
image.cpp image: instantiate 64 bit types 2015-10-29 10:51:42 +11:00
image.hpp image: templatise on component count 2015-10-20 16:54:15 +11:00
image.ipp image: fix is_packed query 2015-10-29 10:51:42 +11: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 io: remove redundant write overloads 2015-10-29 10:51:42 +11:00
io_posix.hpp io: remove access_flag abstraction 2015-10-29 10:48:11 +11: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 cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
io.hpp memory: remove legacy scoped_malloc 2015-11-13 13:48:46 +11:00
io.ipp io: remove redundant write overloads 2015-10-29 10:51:42 +11:00
ip.cpp.rl cast: move types/casts to cast 2015-11-17 16:19:27 +11: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: make path constructors explicit 2015-09-21 15:41:02 +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 log: call format::operator% directly 2015-10-19 17:41:56 +11:00
Makefile.am alloc/arena: add simple test cases 2015-11-24 16:52:47 +11:00
maths.cpp maths: remove rootsquare, use std::hypot instead 2015-11-16 13:18:29 +11:00
maths.hpp maths: explanatory header for sign() 2015-11-16 17:57:53 +11:00
matrix2.cpp matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
matrix3.cpp matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
matrix4.cpp matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
matrix.cpp matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
matrix.hpp matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
matrix.ipp matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
netpbm.cpp io: remove redundant write overloads 2015-10-29 10:51:42 +11:00
netpbm.hpp image: templatise on component count 2015-10-20 16:54:15 +11:00
nocopy.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
noise.cpp image: templatise on component count 2015-10-20 16:54:15 +11:00
noise.hpp image: templatise on component count 2015-10-20 16:54:15 +11:00
noise.ipp image: templatise on component count 2015-10-20 16:54:15 +11: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
platform.hpp platform: add platform suffix definitions 2015-11-13 13:48:46 +11:00
point.cpp coord: add 16 bit value instantiations 2015-09-22 17:24:16 +10:00
point.hpp point: remove constexpr from functions relying on cmath 2015-10-06 15:20:06 +11:00
point.ipp point: remove constexpr from functions relying on cmath 2015-10-06 15:20:06 +11:00
pointer.hpp pointer: add pointer align function 2015-11-17 17:21:48 +11: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 maths: tighten up type requirements for almost_equal 2015-11-13 17:18:10 +11:00
quaternion.hpp coord: remove inadvertant warning disabling 2015-09-21 15:40:36 +10:00
raii.hpp raii: scoped_function takes a nullary void functor 2015-11-13 13:48:46 +11: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 range: add subtraction operator definition 2015-09-29 17:31:20 +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: add type deducing divide/multiply 2015-09-21 16:36:38 +10:00
rational.hpp rational: add type deducing divide/multiply 2015-09-21 16:36:38 +10:00
rational.ipp rational: add type deducing divide/multiply 2015-09-21 16:36:38 +10:00
README add a stub README 2015-04-13 18:10:27 +10:00
region.cpp cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
region.hpp region: use size_type for scaling param 2015-10-19 17:08:08 +11:00
region.ipp region: add cast function 2015-09-21 15:33:58 +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
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 cast: move types/casts to cast 2015-11-17 16:19:27 +11: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
strongdef.cpp strongdef: actually use tagging for disambiguation... 2015-11-19 15:06:52 +11:00
strongdef.hpp strongdef: prevent conversion operator based equality 2015-11-24 16:48:07 +11:00
tap.cpp tap: move base expect method to ipp file 2015-09-21 15:25:56 +10:00
tap.hpp tap: move base expect method to ipp file 2015-09-21 15:25:56 +10:00
tap.ipp tap: move base expect method to ipp file 2015-09-21 15:25:56 +10:00
time_posix.cpp cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
time_win32.cpp time: split off platform units 2015-07-23 14:13:09 +10:00
time.cpp cast: move types/casts to cast 2015-11-17 16:19:27 +11: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 std::data analogue 2015-11-05 13:17:59 +11:00
uri.cpp.rl view: template on arbirtrary iterator types 2015-09-21 15:36:05 +10:00
uri.hpp view: template on arbirtrary iterator types 2015-09-21 15:36:05 +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 maths: move remaining operations into util namespace 2015-11-16 11:44:07 +11:00
vector.hpp vector: add constant sized convenience typedefs 2015-10-06 15:19:29 +11:00
vector.ipp vector: add homogenous converter 2015-07-21 01:41:48 +10:00
version.cpp.rl maths: tighten up type requirements for almost_equal 2015-11-13 17:18:10 +11:00
version.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00
view.hpp view: make methods constexpr 2015-09-25 13:41:04 +10:00
view.ipp view: remove non-constexpr debugging call 2015-09-29 17:31:45 +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.