Я полагаю, что решение
, например, использовать:
std::pair<int, int> my_pair = row["m_ints"].as<std::pair<int, int> >();
записать в strconv.hxx:
template<> struct PQXX_LIBEXPORT string_traits<std::pair<int, int> >
{
static constexpr const char *name() noexcept { return "std::pair<int, int>"; }
static constexpr bool has_null() noexcept { return false; }
static bool is_null(std::pair<int, int>) { return false; }
[[noreturn]] static std::pair<int, int> null()
{ internal::throw_null_conversion(name()); }
static void from_string(const char Str[], std::pair<int, int> &Obj);
static std::string to_string(std::pair<int, int> Obj);
};
и в strconv.cxx реализовать:
- статическая пустота from_string (const char Str [], std :: pair & Obj);
- static std :: string to_string (std :: pair Obj);
теперь вам нужно перекомпилировать libpqxx.
Проблема в том, что реализация "from_string" заканчивается синтаксическим анализом строки наподобие "(9,5)".И Stringparsing - не то, что я хочу.
, поэтому я собираюсь попробовать libpq.