1 /** 2 * Boost Software License - Version 1.0 - August 17th, 2003 3 * 4 * Permission is hereby granted, free of charge, to any person or organization 5 * obtaining a copy of the software and accompanying documentation covered by 6 * this license (the "Software") to use, reproduce, display, distribute, 7 * execute, and transmit the Software, and to prepare derivative works of the 8 * Software, and to permit third-parties to whom the Software is furnished to 9 * do so, all subject to the following: 10 * 11 * The copyright notices in the Software and this entire statement, including 12 * the above license grant, this restriction and the following disclaimer, 13 * must be included in all copies of the Software, in whole or in part, and 14 * all derivative works of the Software, unless such copies or derivative 15 * works are solely in the form of machine-executable object code generated by 16 * a source language processor. 17 * 18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20 * FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT 21 * SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 22 * FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, 23 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 24 * DEALINGS IN THE SOFTWARE. 25 */ 26 27 module dateparser.parseresult; 28 29 import std.datetime; 30 import std.typecons; 31 32 package: 33 34 struct ParseResult 35 { 36 bool badData = false; 37 Nullable!(int, int.min) year; 38 Nullable!(int, int.min) month; 39 Nullable!(int, int.min) day; 40 Nullable!(int, int.min) weekday; 41 Nullable!(int, int.min) hour; 42 Nullable!(int, int.min) minute; 43 Nullable!(int, int.min) second; 44 Nullable!(int, int.min) microsecond; 45 Nullable!(int, int.min) tzoffset; 46 Nullable!(int, int.min) ampm; 47 bool centurySpecified; 48 string tzname; 49 Nullable!(SysTime) shortcutResult; 50 Nullable!(TimeOfDay) shortcutTimeResult; 51 }