Commit Graph

3257 Commits

Author SHA1 Message Date
bc30b7c197 Initial trunc_cast implementation 2011-07-05 23:19:00 +10:00
be643f96d7 Remove now unnecessary sign_type template helper 2011-07-05 23:06:41 +10:00
6910ef10b9 New sign_cast implementation using SFINAE
* Uses enable_if to guarantee same size types for argument/return
* Uses type_traits to check signedness for specialisation
2011-07-05 22:55:18 +10:00
d3c98d479e Simplistic enable_if SFINAE helper implementation 2011-07-05 22:55:18 +10:00
4fb7b8e30f Use AM_CXX* for c++ build variables 2011-07-05 21:37:11 +10:00
1556b6aba6 Actually SUBST the boost build variables 2011-07-05 21:34:44 +10:00
41fb3e7b91 Add some doxygen comments for signal 2011-07-03 16:54:51 +10:00
128d46d9ad Use explicit sized integer types for sign_types<T>
When we used size_t/ssize_t they conflicted with the system's word sized
integers. This should work well for all the numeric types we're likely
to see.
2011-07-03 16:08:36 +10:00
165cd18c0c Explicitly instance one signal type for link error 2011-07-03 16:05:50 +10:00
6ba7a532f7 Add signal with pointer compilation/linking test 2011-07-03 16:04:49 +10:00
6e85e3c97b Don't use template vararg references for signals 2011-07-03 16:04:07 +10:00
c3b8b1e147 Remove signal disconnection methods
std::function does not support equality operators, so we have to remove
these or implement a better disconnection method. The former is easier
for the time being.
2011-07-03 16:02:36 +10:00
ced024dbe1 Enable silent automake rules 2011-07-03 15:54:00 +10:00
e748520bdb Run the item destructor when releasing a pool item 2011-07-01 18:41:50 +10:00
b4d6500f5f Add simple pool allocator implementation 2011-07-01 13:47:08 +10:00
87489b488a Add enable-debugging configure flag
* Controls all generation of programmer related debugging features.
  There are no performance guarantees (almost certainly slower) and no
  end-user benefits aside from enhanced crash info.
* Defaultly disable debugging features, and enable more aggressive
  optimisations in both the compiler and linker.
2011-06-30 21:45:02 +10:00
f29cb50ff7 Avoid type punning by using an integer/float union 2011-06-30 21:43:23 +10:00
c57a72705c Add ipv4::ip constructor from uint32_t 2011-06-30 20:34:53 +10:00
c886cd88e3 Harden boost version checks with failure msgs 2011-06-30 20:34:24 +10:00
ad9ec27f1d Add explicit failure for ragel check failure 2011-06-30 20:33:55 +10:00
fef55f7943 Add suggest-attribute compiler option checks 2011-06-30 20:33:35 +10:00
c6fea4291d Use c++ compiler for compiler option checks 2011-06-30 20:33:18 +10:00
46b2ba4e20 Add mask and well known ports to ip in ipv4 2011-06-29 21:28:34 +10:00
46d4a369f0 Add stub stub ip types for ipv6 2011-06-29 21:26:56 +10:00
e7ff9a46e3 Implement parse in terms of string constructor. 2011-06-29 21:25:14 +10:00
e42b1f6a10 Pass object::insert string by const reference 2011-06-29 21:23:23 +10:00
d592432113 Return a const reference to self in nocopy.
While not technically necessary, it reduces warnings in cppcheck.
2011-06-29 21:19:08 +10:00
d9dba1d155 Add simple signal object implementation 2011-06-27 15:31:41 +10:00
d168996c37 Enable autobrief cpp multiline in doxygen 2011-06-25 12:43:32 +10:00
bc59b72fa9 Add prelim backtrace support detection in build 2011-06-25 12:40:57 +10:00
55aa5bbcfe Use CANONICAL_HOST not CANONICAL_TARGET 2011-06-25 11:55:24 +10:00
c65141a320 Remove _t prefix from ipv4::port_t 2011-06-25 11:52:59 +10:00
523e4c1ab5 add raw integer query for ipv4::ip octets 2011-06-25 11:52:20 +10:00
5a9d7c70c0 Add explicit boost_base version requirement 2011-06-25 11:49:39 +10:00
e955fa2d2b Add missing boost m4 scripts 2011-06-25 11:48:39 +10:00
21d6536a13 Compare our IP parser against inet_pton 2011-06-23 22:08:31 +10:00
9ae8b4b8d5 Add loopback and any address constants for IP 2011-06-23 22:07:55 +10:00
212dcbfbd8 Add sign_types specialisation for size_t/ssize_t 2011-06-23 22:06:52 +10:00
898d082fb0 Expand brief documentation for classes 2011-06-23 22:06:28 +10:00
ea0cdb9f7b Make try_code static in ernno_error 2011-06-23 22:05:24 +10:00
f45c5faf76 Add basic 2 dimensional point classes 2011-06-23 22:04:51 +10:00
dd51f6b180 Correct the source path for Doxygen 2011-06-23 22:04:20 +10:00
6f1bf3ebf9 Make check_{neq|eq} output more explicit
As the panic message mentions __a and __b, use these explicitly in the
error message and equate them to concrete values.
Do not use parenthesis to show the computed value as these can be
mistaken for functions.
2011-06-21 23:39:24 +10:00
4234171e92 Add type_to_string for more cstdint types 2011-06-21 23:37:30 +10:00
c8804cbe8e Added generic hton and ntoh functions 2011-06-21 23:36:51 +10:00
8568a325c0 Add first pass of ipv4::ip parsing and object 2011-06-21 21:42:20 +10:00
20f81a7630 Correct package name in copyright headers
Package is no longer waif, after its seperation from the waif
library/application. Hopefully there aren't any more dependencies...
2011-06-21 20:26:32 +10:00
f924c990df Add template based elems implementation 2011-06-21 20:16:39 +10:00
8801023626 Add required header for almost_equal in assert_eq 2011-06-16 20:54:34 +10:00
4891c6af0e Add sign_cast functions
These safely cast between signed and unsigned numeric quantities,
aborting if the result cannot be safely converted (as opposed to size
expanding or throwing).
2011-06-15 22:38:58 +10:00