/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2023-02-08 * Changed: 2023-04-07 * * */ #ifndef LS_STD_NULL_POINTER_ARGUMENT_EVALUATOR_HPP #define LS_STD_NULL_POINTER_ARGUMENT_EVALUATOR_HPP #include #include #include #include namespace ls::std::core { class LS_STD_DYNAMIC_GOAL NullPointerArgumentEvaluator : public ls::std::core::interface_type::IEvaluator { public: explicit NullPointerArgumentEvaluator(const void *_rawArgument); explicit NullPointerArgumentEvaluator(const void *_rawArgument, ::std::string _message); explicit NullPointerArgumentEvaluator(const ::std::shared_ptr &_argument); explicit NullPointerArgumentEvaluator(const ::std::shared_ptr &_argument, ::std::string _message); ~NullPointerArgumentEvaluator() noexcept override; void evaluate() override; private: ::std::shared_ptr argument{}; ::std::string message{}; }; } #endif