A collection of useful C++ routines.
Go to file
Danny Robson 456362adff t/json-validate: catch only json exceptions
the json namespace should really only be throwing json errors. this tool
is primarily used for unit testing, so it's better it crashes
catastrophically on an unhandled exception.
2016-04-27 17:10:36 +10:00
alloc add ref-qualifiers to avoid dangling refs/ptrs 2016-03-17 18:05:28 +11:00
build-aux build: bump tap-driver 2015-03-02 00:05:09 +11:00
coord coord/store: enforce 16 byte alignment for arity 4 2016-03-14 22:31:50 +11:00
crypto c/xxtea: reduce scope of variable 2015-06-04 22:19:11 +10:00
doc doc: add noise documentation stubs 2016-02-02 10:36:42 +11:00
geom make header paths more explicit 2016-04-05 11:06:35 +10:00
hash make header paths more explicit 2016-04-05 11:06:35 +10:00
json json/flat: don't try to parse empty files 2016-04-27 17:07:20 +10:00
m4 m4/debugging: add stabs debug symbols 2016-04-27 17:07:55 +10:00
memory use more explicit constructors 2016-03-17 18:14:40 +11:00
net don't pull in namespace std 2016-03-11 13:28:56 +11:00
posix use more explicit constructors 2016-03-17 18:14:40 +11:00
rand rand/lcg: add naive LCG RNG 2016-02-03 12:13:03 +11:00
roots roots/bisection: add bisection root finder 2016-02-03 13:57:18 +11:00
test format: add invalid_specifier exception 2016-04-27 16:12:24 +10:00
tools t/json-validate: catch only json exceptions 2016-04-27 17:10:36 +10:00
types types/traits: add remove_restrict 2016-03-16 19:27:39 +11:00
win32 win32/handle: merge various handle wrapper classes 2016-04-27 17:01:45 +10:00
.gitignore uri: add simple uri parser 2015-02-09 17:43:24 +11:00
adapter.cpp unify licences 2016-02-26 13:36:01 +11:00
adapter.hpp build: tighten up some unneeded headers 2016-02-25 13:17:14 +11:00
backtrace_execinfo.cpp backtrace/win32: enable win32 backtrace support 2016-04-19 16:08:56 +10:00
backtrace_null.cpp don't pull in namespace std 2016-03-11 13:28:56 +11:00
backtrace_stackwalk.cpp backtrace_stackwalk: add StackWalk64 backtrace 2016-04-27 16:00:26 +10:00
backtrace_win32.cpp backtrace_win32: avoid using win32 wrappers 2016-04-27 15:53:53 +10:00
backtrace.hpp backtrace/win32: enable win32 backtrace support 2016-04-19 16:08:56 +10:00
bezier.cpp iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
bezier.hpp iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
bitwise.cpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
bitwise.hpp bitwise: add popcount 2015-11-25 13:46:13 +11:00
cast.hpp cast: style 2015-11-17 16:38:59 +11:00
cmdopt.cpp cmdopt: move bool parsing into inline headers 2016-04-27 15:52:52 +10:00
cmdopt.hpp add ref-qualifiers to avoid dangling refs/ptrs 2016-03-17 18:05:28 +11:00
cmdopt.ipp cmdopt: move bool parsing into inline headers 2016-04-27 15:52:52 +10:00
colour.cpp colour: add istream operator 2016-04-15 12:31:36 +10:00
colour.hpp colour: add istream operator 2016-04-15 12:31:36 +10:00
colour.ipp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
configure.ac backtrace/win32: enable win32 backtrace support 2016-04-19 16:08:56 +10:00
coord.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
COPYING unify licences 2016-02-26 13:36:01 +11:00
debug_posix.cpp debug: make DEBUG_WAIT support more robust 2016-03-21 14:19:08 +11:00
debug_win32.cpp debug: cache win32 error code before logging 2016-04-15 15:56:51 +10:00
debug.cpp debug: make DEBUG_WAIT support more robust 2016-03-21 14:19:08 +11:00
debug.hpp debug: remove nullary panic function 2016-04-19 14:50:13 +10:00
debug.ipp debug: remove nullary panic function 2016-04-19 14:50:13 +10:00
Doxyfile.in doc: improve naive doxygen support 2016-02-26 17:04:54 +11: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 missing methods to win32_error 2016-04-27 16:07:42 +10:00
except.hpp except: add missing methods to win32_error 2016-04-27 16:07:42 +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 iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
extent.hpp iostream: use consistent ostream format 2016-03-11 13:01:57 +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 don't pull in namespace std 2016-03-11 13:28:56 +11:00
float.hpp maths: explicitly inline small methods 2016-04-27 15:57:05 +10:00
format.cpp format: add invalid_specifier exception 2016-04-27 16:12:24 +10:00
format.hpp format: add invalid_specifier exception 2016-04-27 16:12:24 +10:00
format.ipp format: add invalid_specifier exception 2016-04-27 16:12:24 +10:00
fourcc.cpp iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
fourcc.hpp iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
gcc.hpp relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
guid.cpp guid: dont pull in std namespace 2016-03-11 13:02:31 +11:00
guid.hpp iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
hash.hpp hash: fix parameter names in mix wrappers 2015-09-15 21:06:00 +10:00
introspection.cpp introspection: add more types to type_string 2016-04-27 16:05:16 +10:00
introspection.hpp introspection: add more types to type_string 2016-04-27 16:05:16 +10:00
io_posix.cpp io_posix: add mapped_file::empty implementation 2016-04-27 17:06:09 +10:00
io_posix.hpp io_posix: add mapped_file::empty implementation 2016-04-27 17:06:09 +10:00
io_win32.cpp io_win32: add mapped_file::empty implementation 2016-04-27 17:05:46 +10:00
io_win32.hpp io_win32: add mapped_file::empty implementation 2016-04-27 17:05:46 +10:00
io.cpp io: bump copyright year 2016-04-27 17:06:25 +10:00
io.hpp win32/handle: merge various handle wrapper classes 2016-04-27 17:01:45 +10:00
io.ipp unify licences 2016-02-26 13:36:01 +11:00
ip.cpp.rl don't pull in namespace std 2016-03-11 13:28:56 +11:00
ip.hpp ip: throw exception on parse error 2016-01-19 18:30:53 +11:00
iterator.hpp iterator: add infix_iterator 2016-03-11 12:44:00 +11:00
libcruft-util-inline.pc.in pkg-config.pc.in: use Libs.private 2016-04-19 17:27:13 +10:00
libcruft-util.pc.in pkg-config.pc.in: use Libs.private 2016-04-19 17:27:13 +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: break after printing the log message 2016-04-06 13:50:44 +10:00
log.hpp log: forward logging arguments 2016-04-05 10:48:08 +10:00
log.ipp log: forward logging arguments 2016-04-05 10:48:08 +10:00
Makefile.am backtrace_stackwalk: add StackWalk64 backtrace 2016-04-27 16:00:26 +10:00
maths.cpp maths: make is_pow2 constexpr 2016-02-02 11:32:29 +11:00
maths.hpp maths: explicitly inline small methods 2016-04-27 15:57:05 +10: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: perspective construction takes a Z-range 2015-12-02 10:03:25 +11:00
matrix.hpp dont overinclude iostream headers 2016-03-17 18:14:40 +11:00
matrix.ipp matrix: extract size dependant operations 2015-11-04 23:23:46 +11:00
nocopy.hpp dont overinclude iostream headers 2016-03-17 18:14:40 +11:00
pascal.cpp pascal: make size/data private 2016-03-17 18:14:40 +11:00
pascal.hpp dont overinclude iostream headers 2016-03-17 18:14:40 +11:00
platform.hpp platform: add platform suffix definitions 2015-11-13 13:48:46 +11:00
point.cpp iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
point.hpp iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
point.ipp point: remove constexpr from functions relying on cmath 2015-10-06 15:20:06 +11:00
pointer.hpp pointer: add uintptr align function 2016-03-11 09:40:12 +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 use more explicit constructors 2016-03-17 18:14:40 +11:00
pool.ipp dont overinclude iostream headers 2016-03-17 18:14:40 +11:00
preprocessor.hpp preprocessor: add map macro with one argument 2016-03-14 22:32:25 +11:00
quaternion.cpp maths: tighten up type requirements for almost_equal 2015-11-13 17:18:10 +11:00
quaternion.hpp iostream: use consistent ostream format 2016-03-11 13:01:57 +11: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 iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
region.hpp iostream: use consistent ostream format 2016-03-11 13:01:57 +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 iterator: use infix_iterator for coord ostream 2016-03-11 12:48:19 +11:00
string.cpp string: define tokeniser::cbegin/cend 2016-03-21 14:20:04 +11:00
string.hpp string: allow cstring tokenisers 2016-03-18 11:08:12 +11: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 add ref-qualifiers to avoid dangling refs/ptrs 2016-03-17 18:05:28 +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 debug: remove unneeded headers from debug 2016-02-05 14:27:21 +11:00
term.cpp term: add trivial ANSI colour escapes 2016-03-21 14:20:39 +11:00
term.hpp term: add trivial ANSI colour escapes 2016-03-21 14:20:39 +11:00
time_posix.cpp time: use std::chrono for nanoseconds query 2016-04-05 11:02:54 +10:00
time_win32.cpp time: use std::chrono for nanoseconds query 2016-04-05 11:02:54 +10:00
time.cpp time: use std::chrono for nanoseconds query 2016-04-05 11:02:54 +10:00
time.hpp time: use std::chrono for nanoseconds query 2016-04-05 11:02:54 +10:00
time.ipp time: use std::chrono for nanoseconds query 2016-04-05 11:02:54 +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 param_count function 2016-03-11 19:16:17 +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 vector: remove redundant almost_equal definition 2016-04-22 16:16:26 +10:00
vector.hpp iostream: use consistent ostream format 2016-03-11 13:01:57 +11:00
vector.ipp vector: add homogenous converter 2015-07-21 01:41:48 +10:00
version.cpp.rl version: style, naming, accessors 2016-01-19 18:31:35 +11:00
version.hpp version: style, naming, accessors 2016-01-19 18:31:35 +11:00
view.cpp view: add make_view, ref-qualifiers, comparators 2016-03-17 18:14:40 +11:00
view.hpp view: add make_view, ref-qualifiers, comparators 2016-03-17 18:14:40 +11:00
view.ipp view: add make_view, ref-qualifiers, comparators 2016-03-17 18:14:40 +11:00
zlib.cpp unify licences 2016-02-26 13:36:01 +11:00
zlib.hpp build: make single argument constructors explicit 2015-06-04 22:18:43 +10:00

A simple cross-platform C++ utility library.