9#ifndef PQXX_H_TRANSACTION_FOCUS
10#define PQXX_H_TRANSACTION_FOCUS
12#if !defined(PQXX_HEADER_PRE)
13# error "Include libpqxx headers as <pqxx/header>, not <pqxx/header.hxx>."
16#include "pqxx/util.hxx"
38 m_trans{&
t}, m_classname{
cname}, m_name{std::move(
oname)}
42 m_trans{&
t}, m_classname{
cname}
64 m_trans{
other.m_trans},
65 m_registered{
other.m_registered},
66 m_classname{
other.m_classname},
73 move_name_and_registration(
other);
82 m_trans =
other.m_trans;
83 m_classname =
other.m_classname;
84 move_name_and_registration(
other);
98 bool m_registered =
false;
99 std::string_view m_classname;
108 other.unregister_me();
110 m_name = std::move(
other.m_name);
The home of all libpqxx classes, functions, templates, etc.
Definition array.hxx:33
constexpr char array_separator
Element separator between SQL array elements of this type.
Definition strconv.hxx:557
std::string describe_object(std::string_view class_name, std::string_view name)
Describe an object for humans, based on class name and optional name.
Definition util.cxx:53
Interface definition (and common code) for "transaction" classes.
Definition transaction_base.hxx:88
Base class for things that monopolise a transaction's attention.
Definition transaction_focus.hxx:29
std::string description() const
Definition transaction_focus.hxx:58
transaction_focus()=delete
transaction_focus(transaction_base &t, std::string_view cname)
Definition transaction_focus.hxx:41
std::string_view name() const &noexcept
Name for this object, if the caller passed one; empty string otherwise.
Definition transaction_focus.hxx:56
constexpr std::string_view classname() const noexcept
Class name, for human consumption.
Definition transaction_focus.hxx:50
transaction_focus(transaction_base &t, std::string_view cname, std::string &&oname)
Definition transaction_focus.hxx:36
transaction_focus(transaction_focus const &)=delete
transaction_focus(transaction_focus &&other)
Definition transaction_focus.hxx:63
transaction_focus & operator=(transaction_focus &&other)
Definition transaction_focus.hxx:76
transaction_focus(transaction_base &t, std::string_view cname, std::string_view oname)
Definition transaction_focus.hxx:31
transaction_base * m_trans
Definition transaction_focus.hxx:95
transaction_focus & operator=(transaction_focus const &)=delete