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()); }
std::size_t operator()(argument_type const& val) { return hash<typename argument_type::position_type>()(val.position()) ^ hash<typename argument_type::position_type>()(val.unit_x()) ^ hash<typename argument_type::position_type>()(val.unit_y()) ^ hash<typename argument_type::length_type>()(val.half_extent()[0]) ^ hash<typename argument_type::length_type>()(val.half_extent()[1]); }