Commit Graph

17 Commits

Author SHA1 Message Date
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
4e10aa59b2 strongdef: remove the numeric_limits specialisation
Apparently we don't need this any more, and it's kinda ugly.
2018-06-27 17:59:26 +10:00
0df16bb9ee strongdef: swap template params, move to dedicated namespace 2018-06-27 17:58:45 +10:00
279af4c796 strongdef: significantly tighten restrictions on usage
It turns out that equality in particular was triggering implicit
construction of strongdef types. We make it much harder for these types
to spontaneously emerge.
2018-06-22 17:41:56 +10:00
6f3952abcb strongdef: add default constructor if the type supports it 2018-06-21 13:18:53 +10:00
8cd33ae5e5 strongdef: allow constructor to be implicit 2018-06-05 13:25:23 +10:00
d206b316a9 strongdef: style 2018-01-24 17:31:22 +11:00
90621ca7f8 strongdef: remove unnecessary copy constructor
Reduces issues with compiler generated assignment operators.
2017-01-27 14:56:54 +11:00
2e54950b1a strongdef: delete default constructor
generally we use this for identifiers, and allowing the user to express
arbitrary values from default construction isn't a great idea.
2016-10-07 17:33:03 +11:00
ab330cc520 add ref-qualifiers to avoid dangling refs/ptrs 2016-03-17 18:05:28 +11:00
b70a84c9be strongdef: make equality operator constexpr 2016-02-03 14:37:38 +11:00
a3bdf1b7a1 strongdef: disable mismatched T/Tag assignment 2015-11-25 13:32:29 +11:00
a8e4e39f8f strongdef: prevent conversion operator based equality 2015-11-24 16:48:07 +11:00
99d025af4d strongdef: actually use tagging for disambiguation... 2015-11-19 15:06:52 +11:00
38678cc78e strongdef: add specialisation of numeric_limits 2015-11-18 14:46:43 +11:00
bb1652b8f3 strongdef: add simple thin value wrapper type
useful for strong typesafe typedefs.
2015-11-17 22:27:49 +11:00