8#include "Arp/Base/Core/PimplPtr.hxx"
9#include "Arp/Base/Commons/Exceptions/ArgumentException.hpp"
11namespace Arp::Base::Commons::Exceptions
28 template<
typename... Args>
48 const Impl& GetImpl(
void)
const;
74template<
typename... Args>
108 return CreateImpl(paramName, innerException,
StackCounter());
119template<>
struct fmt::formatter<
Arp::Base::Commons::Exceptions::ArgumentNullException> :
public fmt::ostream_formatter {};
This exception is thrown when an invalid argument occurs.
Definition: ArgumentException.hpp:17
This exception is thrown when an invalid null argument occurs.
Definition: ArgumentNullException.hpp:16
ArgumentNullException & operator=(const ArgumentNullException &arg)
Default copy-assignment operator.
static ArgumentNullException Create(const char *paramName)
Creates an ArgumentNullException using a default message.
Definition: ArgumentNullException.hpp:85
ArgumentNullException(ArgumentNullException &&arg) noexcept
Default move constructor.
ArgumentNullException & operator=(ArgumentNullException &&arg) noexcept
Default move-assignment operator.
ArgumentNullException(const ArgumentNullException &arg)
Default copy constructor.
~ArgumentNullException(void) override
Default destructor.
This class is used to count sequenced operation calls, which are e.g. invoked during an exception thr...
Definition: StackCounter.hpp:20
This is the base class of all Arp exception classes.
Definition: Exception.hpp:21
std::unique_ptr< Exception > Ptr
The smart pointer type of this class.
Definition: Exception.hpp:27
Adapter class to implement PImpl idiom.
Definition: PimplPtr.hxx:15
This class represents the Arp String. The implementation is based on std::string.
Definition: String.hpp:39
@ Create
Creates a new file. If the file already exists, it is overwritten.
ExceptionTypeId
Specifies the type id of any exception derived by <see cref="CommonException".
Definition: ExceptionTypeId.hpp:15
Root namespace for the PLCnext API