Manage a standard subdirectory. More...
#include <stdSubDir.hpp>

Public Member Functions | |
| stdSubDir () | |
| Default c'tor.   | |
| stdSubDir (const std::chrono::sys_days &sysday) | |
| Construct from std::sys_days.   | |
| stdSubDir (int year, unsigned month, unsigned day) | |
| Construct from components.   | |
| stdSubDir (const std::string &subdir) | |
| Construct from a string.   | |
| mx::error_t | ymd (int year, unsigned month, unsigned day) | 
| Setup from components.   | |
| mx::error_t | path (const std::string &subdir) | 
| Set the subdirectory.   | |
| std::string | path (mx::error_t *errc=nullptr) const | 
| Get the current value of m_subDir.   | |
| int | year (mx::error_t *errc=nullptr) const | 
| Get the current value of m_year.   | |
| unsigned int | month (mx::error_t *errc=nullptr) const | 
| Get the current value of m_month.   | |
| unsigned int | day (mx::error_t *errc=nullptr) const | 
| Get the current value of m_day.   | |
| bool | valid () const | 
| Get the current value of m_valid.   | |
| mx::error_t | addDay () | 
| Add a day to this subdirectory.   | |
| mx::error_t | subDay () | 
| Subtract a day from this subdirectory.   | |
| stdSubDir | previousSubdir (mx::error_t *errc=nullptr) | 
| Get the previous day's subdirectory.   | |
| stdSubDir | followingSubdir (mx::error_t *errc=nullptr) | 
| Get the following day's subdirectory.   | |
| bool | operator== (const stdSubDir &comp) const | 
| Compare two subdirectories for equality by timestamp.   | |
| bool | operator!= (const stdSubDir &comp) const | 
| Compare two subdirectories for inequality by timestamp.   | |
| bool | operator< (const stdSubDir &comp) const | 
| Compare two subdirectories for less-than by timestamp.   | |
| bool | operator<= (const stdSubDir &comp) const | 
| Compare two subdirectories for less-than-or-equal by timestamp.   | |
| bool | operator> (const stdSubDir &comp) const | 
| Compare two subdirectories for greater-than by timestamp.   | |
| bool | operator>= (const stdSubDir &comp) const | 
| Compare two subdirectories for greater-than-or-equal by timestamp.   | |
| void | invalidate () | 
| Invalidate this instance.   | |
Protected Attributes | |
| std::chrono::sys_days | m_sysday | 
| System time representation of the date of this sub directory.   | |
| bool | m_pathMade { false } | 
| Whether or not the path string has been constructed.   | |
| std::string | m_path | 
| The path string. Only constructed on demand.   | |
| bool | m_valid { false } | 
| Whether or not the components are valid.   | |
Manage a standard subdirectory.
MagAO-X data storage subdirectories have the format YYYY_MM_DD This class provides parsing and date arithmetic.
Definition at line 35 of file stdSubDir.hpp.
| MagAOX::file::stdSubDir< verboseT >::stdSubDir | ( | ) | 
Default c'tor.
Definition at line 186 of file stdSubDir.hpp.
      
  | 
  explicit | 
Construct from std::sys_days.
On success, sets m_valid=true
On error, sets m_valid=false 
| [in] | sysday | The new year | 
Definition at line 192 of file stdSubDir.hpp.
| MagAOX::file::stdSubDir< verboseT >::stdSubDir | ( | int | year, | 
| unsigned | month, | ||
| unsigned | day | ||
| ) | 
Construct from components.
On success, sets m_valid=true
On error, sets m_valid=false 
| [in] | year | The new year | 
| [in] | month | The new month | 
| [in] | day | The new day | 
Definition at line 220 of file stdSubDir.hpp.
| MagAOX::file::stdSubDir< verboseT >::stdSubDir | ( | const std::string & | subdir | ) | 
Construct from a string.
On success, sets m_valid=true
On error, sets m_valid=false 
| [in] | subdir | The string of format YYYY_MM_DD | 
Definition at line 226 of file stdSubDir.hpp.
| mx::error_t MagAOX::file::stdSubDir< verboseT >::addDay | ( | ) | 
Add a day to this subdirectory.
Definition at line 606 of file stdSubDir.hpp.
Referenced by MagAOX::file::stdSubDir< verboseT >::followingSubdir(), MagAOX::logger::logMap< verboseT >::loadAppToFileMap(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| unsigned int MagAOX::file::stdSubDir< verboseT >::day | ( | mx::error_t * | errc = nullptr | ) | const | 
Get the current value of m_day.
| [in] | errc | [optional] error code set during path creation | 
Definition at line 548 of file stdSubDir.hpp.
Referenced by libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| stdSubDir< verboseT > MagAOX::file::stdSubDir< verboseT >::followingSubdir | ( | mx::error_t * | errc = nullptr | ) | 
Get the following day's subdirectory.
| [in] | errc | [optional] error code set during path creation | 
Definition at line 755 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::addDay(), MagAOX::file::stdSubDir< verboseT >::path(), and MagAOX::file::stdSubDir< verboseT >::valid().
Referenced by libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| void MagAOX::file::stdSubDir< verboseT >::invalidate | ( | ) | 
Invalidate this instance.
Definition at line 863 of file stdSubDir.hpp.
| unsigned int MagAOX::file::stdSubDir< verboseT >::month | ( | mx::error_t * | errc = nullptr | ) | const | 
Get the current value of m_month.
| [in] | errc | [optional] error code set during path creation | 
Definition at line 496 of file stdSubDir.hpp.
Referenced by libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| bool MagAOX::file::stdSubDir< verboseT >::operator!= | ( | const stdSubDir< verboseT > & | comp | ) | const | 
Compare two subdirectories for inequality by timestamp.
Two subdirectories are equal if and only if their timestamps are equal
Definition at line 833 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::m_sysday.
| bool MagAOX::file::stdSubDir< verboseT >::operator< | ( | const stdSubDir< verboseT > & | comp | ) | const | 
Compare two subdirectories for less-than by timestamp.
A subdirectory is less than if and only if its timestamp is less-than
Definition at line 839 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::m_sysday.
| bool MagAOX::file::stdSubDir< verboseT >::operator<= | ( | const stdSubDir< verboseT > & | comp | ) | const | 
Compare two subdirectories for less-than-or-equal by timestamp.
A subdirectory is less than or equal if and only if its timestamp is less-than-or-equal
Definition at line 845 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::m_sysday.
| bool MagAOX::file::stdSubDir< verboseT >::operator== | ( | const stdSubDir< verboseT > & | comp | ) | const | 
Compare two subdirectories for equality by timestamp.
Two subdirectories are equal if and only if their timestamps are equal
Definition at line 827 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::m_sysday.
| bool MagAOX::file::stdSubDir< verboseT >::operator> | ( | const stdSubDir< verboseT > & | comp | ) | const | 
Compare two subdirectories for greater-than by timestamp.
A subdirectory is greater than if and only if its timestamp is greater-than
Definition at line 851 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::m_sysday.
| bool MagAOX::file::stdSubDir< verboseT >::operator>= | ( | const stdSubDir< verboseT > & | comp | ) | const | 
Compare two subdirectories for greater-than-or-equal by timestamp.
A subdirectory is greater than if and only if its timestamp is greater-than-or-equal
Definition at line 857 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::m_sysday.
| mx::error_t MagAOX::file::stdSubDir< verboseT >::path | ( | const std::string & | subdir | ) | 
Set the subdirectory.
Parses the string and sets the time point
Definition at line 270 of file stdSubDir.hpp.
Referenced by audibleAlerts.personality.Recording::__eq__(), MagAOX::file::stdSubDir< verboseT >::followingSubdir(), MagAOX::logger::logMap< verboseT >::loadAppToFileMap(), MagAOX::file::stdSubDir< verboseT >::previousSubdir(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| std::string MagAOX::file::stdSubDir< verboseT >::path | ( | mx::error_t * | errc = nullptr | ) | const | 
Get the current value of m_subDir.
| [in] | errc | [optional] error code set during path creation | 
Definition at line 377 of file stdSubDir.hpp.
Referenced by audibleAlerts.personality.Recording::__eq__().
| stdSubDir< verboseT > MagAOX::file::stdSubDir< verboseT >::previousSubdir | ( | mx::error_t * | errc = nullptr | ) | 
Get the previous day's subdirectory.
| [in] | errc | [optional] error code set during path creation | 
Definition at line 683 of file stdSubDir.hpp.
References MagAOX::file::stdSubDir< verboseT >::path(), MagAOX::file::stdSubDir< verboseT >::subDay(), and MagAOX::file::stdSubDir< verboseT >::valid().
Referenced by libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| mx::error_t MagAOX::file::stdSubDir< verboseT >::subDay | ( | ) | 
Subtract a day from this subdirectory.
Definition at line 644 of file stdSubDir.hpp.
Referenced by MagAOX::logger::logMap< verboseT >::loadAppToFileMap(), MagAOX::file::stdSubDir< verboseT >::previousSubdir(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| bool MagAOX::file::stdSubDir< verboseT >::valid | ( | ) | const | 
Get the current value of m_valid.
Definition at line 600 of file stdSubDir.hpp.
Referenced by MagAOX::file::stdSubDir< verboseT >::followingSubdir(), MagAOX::file::stdSubDir< verboseT >::previousSubdir(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| int MagAOX::file::stdSubDir< verboseT >::year | ( | mx::error_t * | errc = nullptr | ) | const | 
Get the current value of m_year.
| [in] | errc | [optional] error code set during path creation | 
Definition at line 443 of file stdSubDir.hpp.
Referenced by libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), libXWCTest::fileTest::stdSubDirTest::TEST_CASE(), and libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
| mx::error_t MagAOX::file::stdSubDir< verboseT >::ymd | ( | int | year, | 
| unsigned | month, | ||
| unsigned | day | ||
| ) | 
Setup from components.
On success, sets m_valid=true
On error, sets m_valid=false 
| [in] | year | The new year | 
| [in] | month | The new month | 
| [in] | day | The new day | 
Definition at line 232 of file stdSubDir.hpp.
Referenced by libXWCTest::fileTest::stdSubDirTest::TEST_CASE().
      
  | 
  mutableprotected | 
The path string. Only constructed on demand.
Definition at line 43 of file stdSubDir.hpp.
      
  | 
  mutableprotected | 
Whether or not the path string has been constructed.
Definition at line 41 of file stdSubDir.hpp.
      
  | 
  protected | 
System time representation of the date of this sub directory.
Definition at line 39 of file stdSubDir.hpp.
Referenced by MagAOX::file::stdSubDir< verboseT >::operator!=(), MagAOX::file::stdSubDir< verboseT >::operator<(), MagAOX::file::stdSubDir< verboseT >::operator<=(), MagAOX::file::stdSubDir< verboseT >::operator==(), MagAOX::file::stdSubDir< verboseT >::operator>(), and MagAOX::file::stdSubDir< verboseT >::operator>=().
      
  | 
  protected | 
Whether or not the components are valid.
Definition at line 45 of file stdSubDir.hpp.