Class template Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>

template<typename T = void>
class Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>

Base class to generate debug output about object creation and deletion using the TimedLogging.

Simply derive from this class

class Foo : EnableDebugLoggingForCtors<Foo>
{
public:
  Foo() : EnableDebugLoggingForCtors<Foo>("dune.xt.foo", "Foo") {}
};

and provide the prefix (for the logger) as well as the class name. Using your class, i.e. as in

int main() {

  Foo foo;
  Foo bar(foo);
}

should yield an output like

00:00|dune.xt.foo: Foo(this=0x0001)
00:00|dune.xt.foo: Foo(this=0x0002, other=0x0001)
00:00|dune.xt.foo: ~Foo(this=0x0002)
00:00|dune.xt.foo: ~Foo(this=0x0001)

The same holds for the move ctor as well as move and assignment operators.

Note

Output is only generated in debug builds (or when DUNE_XT_COMMON_TIMEDLOGGING_ENABLE_DEBUG is true) and when the TimedLogger is active.

See also: TimedLogging, TimedLogger

Method Dune::XT::Common::NoOpEnableDebugLoggingForCtors::operator=

template<typename T = void>
ThisType &Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>::operator=(const ThisType &other) = default

No documentation provided.

Method Dune::XT::Common::NoOpEnableDebugLoggingForCtors::operator=

template<typename T = void>
ThisType &Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>::operator=(ThisType &&source) noexcept = default

No documentation provided.

Constructor Dune::XT::Common::NoOpEnableDebugLoggingForCtors::NoOpEnableDebugLoggingForCtors

template<typename T = void>
Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>::NoOpEnableDebugLoggingForCtors(const std::string&, const std::string&)

No documentation provided.

Constructor Dune::XT::Common::NoOpEnableDebugLoggingForCtors::NoOpEnableDebugLoggingForCtors

template<typename T = void>
Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>::NoOpEnableDebugLoggingForCtors(const ThisType &other) = default

No documentation provided.

Constructor Dune::XT::Common::NoOpEnableDebugLoggingForCtors::NoOpEnableDebugLoggingForCtors

template<typename T = void>
Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>::NoOpEnableDebugLoggingForCtors(ThisType &&source) noexcept = default

No documentation provided.

Destructor Dune::XT::Common::NoOpEnableDebugLoggingForCtors::~NoOpEnableDebugLoggingForCtors

template<typename T = void>
Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>::~NoOpEnableDebugLoggingForCtors() = default

No documentation provided.

Type alias Dune::XT::Common::NoOpEnableDebugLoggingForCtors::ThisType

template<typename T = void>
using Dune::XT::Common::NoOpEnableDebugLoggingForCtors<T>::ThisType = NoOpEnableDebugLoggingForCtors<T>

No documentation provided.