7#ifndef ARP_USE_ARP_SYSTEM_COMMONS_EXCEPTIONS 
    8#include "Arp/Base/Commons/Exceptions/ArgumentOutOfRangeException.hpp" 
   15#include "Arp/System/Commons/Exceptions/ArgumentException.hpp" 
   17namespace Arp { 
namespace System { 
namespace Commons
 
   21class ArgumentOutOfRangeException : 
public ArgumentException
 
   24    template<
typename... Args>
 
   25    ArgumentOutOfRangeException(
const char* message, 
const Args& ... args);
 
   26    ArgumentOutOfRangeException(
const String& message);
 
   27    ArgumentOutOfRangeException(String&& message);
 
   28    ArgumentOutOfRangeException(
const String& message, 
const Exception& innerException);
 
   29    ArgumentOutOfRangeException(String&& message, Exception&& innerException);
 
   30    ArgumentOutOfRangeException(
const ArgumentOutOfRangeException& arg) = 
default;
 
   31    ArgumentOutOfRangeException(ArgumentOutOfRangeException&& arg) = 
default;
 
   32    virtual ~ArgumentOutOfRangeException(
void) = 
default;
 
   36    static ArgumentOutOfRangeException 
Create(
const char* paramName, 
const T& paramValue);
 
   38    static ArgumentOutOfRangeException 
Create(
const char* paramName, 
const T& paramValue, 
const Exception& innerException);
 
   44    ArgumentOutOfRangeException& operator=(
const ArgumentOutOfRangeException& arg) = 
delete;
 
   47    static const char* 
const defaultMessage;
 
   54template<
typename... Args>
 
   56    : ArgumentException(
ExceptionTypeId::ArgumentOutOfRange, String::Format(message, args...))
 
   61inline ArgumentOutOfRangeException::ArgumentOutOfRangeException(
const String& message)
 
   62    : ArgumentException(ExceptionTypeId::ArgumentOutOfRange, message)
 
   67inline ArgumentOutOfRangeException::ArgumentOutOfRangeException(String&& message)
 
   68    : ArgumentException(ExceptionTypeId::ArgumentOutOfRange, 
std::move(message))
 
   73inline ArgumentOutOfRangeException::ArgumentOutOfRangeException(
const String& message, 
const Exception& innerException)
 
   74    : ArgumentException(ExceptionTypeId::ArgumentOutOfRange, message, innerException)
 
   79inline ArgumentOutOfRangeException::ArgumentOutOfRangeException(String&& message, Exception&& innerException)
 
   80    : ArgumentException(ExceptionTypeId::ArgumentOutOfRange, 
std::move(message), 
std::move(innerException))
 
   86inline ArgumentOutOfRangeException ArgumentOutOfRangeException::Create(
const char* paramName, 
const T& paramValue)
 
   88    return ArgumentOutOfRangeException(defaultMessage, paramName, paramValue);
 
   93inline ArgumentOutOfRangeException ArgumentOutOfRangeException::Create(
const char* paramName, 
const T& paramValue, 
const Exception& innerException)
 
   95    return ArgumentOutOfRangeException(String::Format(defaultMessage, paramName, paramValue), innerException);
 
  102template<> 
struct fmt::formatter<
Arp::System::Commons::ArgumentOutOfRangeException> : 
public fmt::ostream_formatter {};
 
This exception is thrown when an invalid null argument occurs.
Definition: ArgumentOutOfRangeException.hpp:16
 
ArgumentOutOfRangeException(const ArgumentOutOfRangeException &arg)
Default copy constructor.
 
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