Skip to content

Commit

Permalink
Do not open namespace std. It is not necessary to open a namespace for
Browse files Browse the repository at this point in the history
specializing a class there.

The current namespace must be outside it though.

PiperOrigin-RevId: 639784754
  • Loading branch information
QrczakMK committed Jun 3, 2024
1 parent 15923d8 commit b686f6e
Showing 1 changed file with 9 additions and 13 deletions.
22 changes: 9 additions & 13 deletions riegeli/csv/csv_record.h
Original file line number Diff line number Diff line change
Expand Up @@ -100,40 +100,36 @@ inline std::vector<std::string> ToStringVector(Values&& values) {

#if __cplusplus >= 202002L

namespace std {

template <typename T1, typename T2, template <typename> class TQual,
template <typename> class UQual>
struct basic_common_reference<riegeli::csv_internal::ReferencePair<T1, T2>,
std::pair<std::string, std::string>, TQual,
UQual> {
struct std::basic_common_reference<riegeli::csv_internal::ReferencePair<T1, T2>,
std::pair<std::string, std::string>, TQual,
UQual> {
using type = riegeli::csv_internal::ReferencePair<
std::common_reference_t<TQual<T1>, UQual<std::string>>,
std::common_reference_t<TQual<T2>, UQual<std::string>>>;
};

template <typename T1, typename T2, template <typename> class TQual,
template <typename> class UQual>
struct basic_common_reference<std::pair<std::string, std::string>,
riegeli::csv_internal::ReferencePair<T1, T2>,
TQual, UQual> {
struct std::basic_common_reference<std::pair<std::string, std::string>,
riegeli::csv_internal::ReferencePair<T1, T2>,
TQual, UQual> {
using type = riegeli::csv_internal::ReferencePair<
std::common_reference_t<TQual<std::string>, UQual<T1>>,
std::common_reference_t<TQual<std::string>, UQual<T2>>>;
};

template <typename T1, typename T2, typename U1, typename U2,
template <typename> class TQual, template <typename> class UQual>
struct basic_common_reference<riegeli::csv_internal::ReferencePair<T1, T2>,
riegeli::csv_internal::ReferencePair<U1, U2>,
TQual, UQual> {
struct std::basic_common_reference<riegeli::csv_internal::ReferencePair<T1, T2>,
riegeli::csv_internal::ReferencePair<U1, U2>,
TQual, UQual> {
using type = riegeli::csv_internal::ReferencePair<
std::common_reference_t<TQual<T1>, UQual<U1>>,
std::common_reference_t<TQual<T2>, UQual<U2>>>;
};

} // namespace std

#endif

namespace riegeli {
Expand Down

0 comments on commit b686f6e

Please sign in to comment.