/** @file NumericDispatch.hpp * * @author Roland Conybeare, Feb 2026 **/ #pragma once //#include // probably will need this at some point? #include #include namespace xo { namespace scm { /** type-erased arithmetic dispatch. **/ struct NumericOps { obj }; class NumericDispatch { public: using KeyType = std::pair; using MapType = xo::map::DArenaHashMap /** combine two typeseq's to get hash value **/ struct KeyHash { std::size_t operator()(const key_type & k) const noexcept { // combine the two seqno values std::size_t h1 = std::hash{}(k.first.seqno()); std::size_t h2 = std::hash{}(k.second.seqno()); return h1 ^ (h2 << 1); } }; }; } /*namespace scm*/ } /*namespace xo*/ /* end NumericDispqatch.hpp */