constexpr bool operator<(array<T, SizeT> const& x, array<U, SizeU> const& y) { return std_lexicographical_compare(x.cbegin(), x.cend(), y.cbegin(), y.cend(), std::less<>{}); }
// Constructs an atom from an ATOM/HETATM line in PDBQT format. explicit atom(const string& line) : serial(stoul(line.substr(6, 5))), ad(find(ad_strings.cbegin(), ad_strings.cend(), line.substr(77, isspace(line[78]) ? 1 : 2)) - ad_strings.cbegin()) { coord[0] = stof(line.substr(30, 8)); coord[1] = stof(line.substr(38, 8)); coord[2] = stof(line.substr(46, 8)); }
constexpr bool operator==(array<T, SizeT> const& x, array<U, SizeU> const& y) { return std_equal(x.cbegin(), x.cend(), y.cbegin(), y.cend(), std::equal_to<>{}); }