/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2023-02-08 * Changed: 2024-09-11 * * */ #ifndef LS_STD_NULL_POINTER_ARGUMENT_EVALUATOR_HPP #define LS_STD_NULL_POINTER_ARGUMENT_EVALUATOR_HPP #include #include #include #include #include /* * @doc: class(name: 'NullPointerArgumentEvaluator', package: 'core') * @doc: core.NullPointerArgumentEvaluator.description('This class evaluates whether a passed shared pointer argument is null.') * */ namespace ls::std::core { class LS_STD_DYNAMIC_GOAL NullPointerArgumentEvaluator : public ls::std::core::interface_type::IEvaluator { public: 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