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
16e4cde82d
Add instantiation of range for size_t
2011-06-15 22:37:17 +10:00