acme
Foundational cross-platform layer of the ca2 framework
Loading...
Searching...
No Matches
_.h
1#pragma once
2
3
4#include "equals.h"
5#include "less.h"
6#include "compare.h"
7#include "hash.h"
8#include "binary.h"
9#include "sign.h"
10
11
12#define unequal(a, b, n) ((a - n < b && b < a + n) || (b - n < a && a < b + n))
13
14
15template < typename ARG_KEY >
16inline iptr CompareElements(ARG_KEY element1, ARG_KEY element2)
17{
18
19 return element2 - element1;
20}
21
22
23template < >
24CLASS_DECL_ACME iptr CompareElements<const string & >(const string & element1, const string & element2);
25
26
27template < >
28inline iptr CompareElements<void *>(void * element1, void * element2)
29{
30
31 return (::u8 *)element2 - (::u8 *)element1;
32
33}
34