...Describe your data with a full-fledged data definition language (in yaml notation), then define the file format you want.
Syv out unacceptable values!
C++ YAML validation library, requires yaml-cpp (0.5.1) and Boost.Regex (any).
Two full-fledged object-oriented classes dealing with dates (class cDate) and spans of time (class cPeriod) written in C++.
The datecalc-cpp project is a sub-project of tbvs-hr (https://sourceforge.net/projects/tbvs-hr).