std::size_t operator()(argument_type const& val) { return hash<typename argument_type::position_type>()(val.position()) ^ hash<typename argument_type::length_type>()(val.radius()) ^ hash<typename argument_type::position_type>()(val.unit_z()) ^ hash<typename argument_type::length_type>()(val.half_length()); }
std::size_t operator()(argument_type const& val) { return hash<argument_type::position_type>()(val.position()) ^ hash<argument_type::length_type>()(val.radius()) ^ hash<argument_type::D_type>()(val.D()) ^ // hash<argument_type::species_type>()(val.species()); hash<argument_type::species_serial_type>()(val.sid()); }