7#ifndef ARP_USE_ARP_SYSTEM_COMMONS_EXCEPTIONS
8#include "Arp/Base/Commons/Exceptions/NotSupportedException.hpp"
15#include "Arp/System/Commons/Exceptions/CommonException.hpp"
17namespace Arp {
namespace System {
namespace Commons
21class NotSupportedException :
public CommonException
24 template<
typename... Args>
25 NotSupportedException(
const char* message,
const Args& ... args);
26 NotSupportedException(
const String& message);
27 NotSupportedException(String&& message);
28 NotSupportedException(
const String& message,
const Exception& innerException);
29 NotSupportedException(String&& message, Exception&& innerException);
30 NotSupportedException(
const NotSupportedException& arg) =
default;
31 NotSupportedException(NotSupportedException&& arg) =
default;
32 virtual ~NotSupportedException(
void) =
default;
35 static NotSupportedException
Create(
const char* functionName);
36 static NotSupportedException
Create(
const char* functionName,
const Exception& innerException);
42 NotSupportedException& operator=(
const NotSupportedException& arg) =
delete;
45 static const char*
const defaultMessage;
52template<
typename... Args>
54 : CommonException(
ExceptionTypeId::NotSupported, String::Format(message, args...))
59inline NotSupportedException::NotSupportedException(
const String& message)
60 : CommonException(ExceptionTypeId::NotSupported, message)
65inline NotSupportedException::NotSupportedException(String&& message)
66 : CommonException(ExceptionTypeId::NotSupported,
std::move(message))
71inline NotSupportedException::NotSupportedException(
const String& message,
const Exception& innerException)
72 : CommonException(ExceptionTypeId::NotSupported, message, innerException)
77inline NotSupportedException::NotSupportedException(String&& message, Exception&& innerException)
78 : CommonException(ExceptionTypeId::NotSupported,
std::move(message),
std::move(innerException))
83inline NotSupportedException NotSupportedException::Create(
const char* functionName)
85 return NotSupportedException(defaultMessage, functionName);
89inline NotSupportedException NotSupportedException::Create(
const char* functionName,
const Exception& innerException)
91 return NotSupportedException(String::Format(defaultMessage, functionName), innerException);
98template<>
struct fmt::formatter<
Arp::System::Commons::NotSupportedException> :
public fmt::ostream_formatter {};
This exception is thrown when a not supported operation is invoked.
Definition: NotSupportedException.hpp:16
NotSupportedException(const char *message, const Args &... args)
Creates an NotSupportedException with message.
Definition: NotSupportedException.hpp:67
std::unique_ptr< Exception > Ptr
The smart pointer type of this class.
Definition: Exception.hpp:27
@ 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
Namespace of the C++ standard library