DateParameter.hpp 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /*
  2. * Author: Patrick-Christopher Mattulat
  3. * Co-Author: Claude Sonnet 4.6 (LLM)
  4. * Company: Lynar Studios
  5. * E-Mail: webmaster@lynarstudios.com
  6. * Created: 2023-03-29
  7. * Changed: 2026-06-23
  8. *
  9. * */
  10. #ifndef LS_STD_DATE_PARAMETER_HPP
  11. #define LS_STD_DATE_PARAMETER_HPP
  12. #include <cstdint>
  13. #include <ls-std/os/dynamic-goal.hpp>
  14. #include <ls-std/time/type/DateParameterTypes.hpp>
  15. /*
  16. * @doc: class(name: 'DateParameter', package: 'time')
  17. * @doc: time.DateParameter.description('This class holds information of a date processed by this library.')
  18. * */
  19. namespace ls::standard::time
  20. {
  21. class LS_STD_DYNAMIC_GOAL DateParameter
  22. {
  23. public:
  24. DateParameter(ls::standard::time::type::Year _year, ls::standard::time::type::Month _month, ls::standard::time::type::Day _day, ls::standard::time::type::Hour _hour, ls::standard::time::type::Minute _minute, ls::standard::time::type::Second _second);
  25. DateParameter();
  26. ~DateParameter();
  27. bool operator==(const ls::standard::time::DateParameter &_dateParameter) const;
  28. [[nodiscard]] ls::standard::time::type::Day getDay() const;
  29. [[nodiscard]] ls::standard::time::type::Hour getHour() const;
  30. [[nodiscard]] ls::standard::time::type::Minute getMinute() const;
  31. [[nodiscard]] ls::standard::time::type::Month getMonth() const;
  32. [[nodiscard]] ls::standard::time::type::Second getSecond() const;
  33. [[nodiscard]] ls::standard::time::type::Year getYear() const;
  34. void setDay(ls::standard::time::type::Day _day);
  35. void setHour(ls::standard::time::type::Hour _hour);
  36. void setMinute(ls::standard::time::type::Minute _minute);
  37. void setMonth(ls::standard::time::type::Month _month);
  38. void setSecond(ls::standard::time::type::Second _second);
  39. void setYear(ls::standard::time::type::Year _year);
  40. private:
  41. ls::standard::time::type::Day day{};
  42. ls::standard::time::type::Hour hour{};
  43. ls::standard::time::type::Minute minute{};
  44. ls::standard::time::type::Month month{};
  45. ls::standard::time::type::Second second{};
  46. ls::standard::time::type::Year year{};
  47. };
  48. }
  49. #endif