43 lines
711 B
C++
43 lines
711 B
C++
#if 0
|
|
''' '
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
// These could be added as opaque types I guess.
|
|
template <typename T>
|
|
struct BuildHasherDefault;
|
|
|
|
struct DefaultHasher;
|
|
#endif
|
|
|
|
#if 0
|
|
' '''
|
|
#endif
|
|
|
|
|
|
#include <cstdarg>
|
|
#include <cstdint>
|
|
#include <cstdlib>
|
|
#include <ostream>
|
|
#include <new>
|
|
|
|
template<typename K = void, typename V = void, typename Hasher = void>
|
|
struct HashMap;
|
|
|
|
template<typename T = void, typename E = void>
|
|
struct Result;
|
|
|
|
/// Fast hash map used internally.
|
|
template<typename K, typename V>
|
|
using FastHashMap = HashMap<K, V, BuildHasherDefault<DefaultHasher>>;
|
|
|
|
using Foo = FastHashMap<int32_t, int32_t>;
|
|
|
|
using Bar = Result<Foo>;
|
|
|
|
extern "C" {
|
|
|
|
void root(const Foo *a, const Bar *b);
|
|
|
|
} // extern "C"
|