| #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" |