var searchIndex = {}; searchIndex["tz"] = {"doc":"This is a library for parsing zoneinfo files.","items":[[3,"TZData","tz","Parsed, interpreted contents of a zoneinfo file.",null,null],[12,"transitions","","Vector of transitions that are described in this data.",0,null],[12,"leap_seconds","","Vector of leap seconds that are described in this data.",0,null],[3,"Transition","","A time change specification.",null,null],[12,"timestamp","","Unix timestamp when the clocks change.",1,null],[12,"local_time_type","","The new description of the local time.",1,null],[3,"LeapSecond","","A leap second specification.",null,null],[12,"timestamp","","Unix timestamp at which a leap second occurs.",2,null],[12,"leap_second_count","","Number of leap seconds to be added.",2,null],[3,"LocalTimeType","","A description of the local time in a particular timezone, during the\nperiod in which the clocks do not change.",null,null],[12,"name","","The time zone abbreviation - such as "GMT" or "UTC".",3,null],[12,"offset","","Number of seconds to be added to Universal Time.",3,null],[12,"is_dst","","Whether to set DST.",3,null],[12,"transition_type","","The current 'type' of time.",3,null],[4,"TransitionType","","The 'type' of time that the change was announced in.",null,null],[13,"Standard","","Standard Time ("non-summer" time)",4,null],[13,"Wall","","Wall clock time",4,null],[13,"UTC","","Co-ordinated Universal Time",4,null],[5,"parse","","Parses a series of bytes into a timezone data structure.",null,{"inputs":[{"name":"vec"}],"output":{"name":"result"}}],[5,"cook","","Interpret a set of internal time zone data.",null,{"inputs":[{"name":"tzdata"}],"output":{"name":"result"}}],[0,"internals","","Bare structures of time zone files",null,null],[3,"Header","tz::internals","",null,null],[12,"version","","The version of this file's format - either '\\0', or '2', or '3'.",5,null],[12,"num_gmt_flags","","The number of GMT flags in this file.\n(Equivalent to `tzh_ttisgmtcnt` in C)",5,null],[12,"num_standard_flags","","The number of Standard Time flags in this file.\n(Equivalent to `tzh_ttisstdcnt` in C)",5,null],[12,"num_leap_seconds","","The number of leap second entries in this file.\n(Equivalent to `tzh_leapcnt` in C)",5,null],[12,"num_transitions","","The number of transition entries in this file.\n(Equivalent to `tzh_timecnt` in C)",5,null],[12,"num_local_time_types","","The number of local time types in this file.\n(Equivalent to `tzh_typecnt` in C)",5,null],[12,"num_abbr_chars","","The number of characters of time zone abbreviation strings in this file.\n(Equivalent to `tzh_charcnt` in C)",5,null],[3,"TransitionData","","",null,null],[12,"timestamp","","The time at which the rules for computing local time change.",6,null],[12,"local_time_type_index","","Index into the local time types array for this transition.",6,null],[3,"LocalTimeTypeData","","",null,null],[12,"offset","","Number of seconds to be added to Universal Time.\n(Equivalent to `tt_gmtoff` in C)",7,null],[12,"is_dst","","Whether to set DST.\n(Equivalent to `tt_isdst` in C)",7,null],[12,"name_offset","","Position in the array of time zone abbreviation characters, elsewhere\nin the file.\n(Equivalent to `tt_abbrind` in C)",7,null],[3,"LeapSecondData","","",null,null],[12,"timestamp","","The time, as a number of seconds, at which a leap second occurs.",8,null],[12,"leap_second_count","","Number of leap seconds to be added.",8,null],[3,"Limits","","Maximum numbers of structures that can be loaded from a time zone data\nfile. If more than these would be loaded, an error will be returned\ninstead.",null,null],[12,"max_transitions","","Maximum number of transition structures",9,null],[12,"max_local_time_types","","Maximum number of local time type structures",9,null],[12,"max_abbreviation_chars","","Maximum number of characters (bytes, technically) in timezone\nabbreviations",9,null],[12,"max_leap_seconds","","Maximum number of leap second specifications",9,null],[3,"TZData","","The internal structure of a zoneinfo file.",null,null],[12,"header","","",10,null],[12,"transitions","","",10,null],[12,"time_info","","",10,null],[12,"leap_seconds","","",10,null],[12,"strings","","",10,null],[12,"standard_flags","","",10,null],[12,"gmt_flags","","",10,null],[4,"Error","","",null,null],[13,"InvalidMagicNumber","","The error when the first four bytes of the buffer weren't what they\nshould be.",11,null],[12,"bytes_read","tz::internals::Error","The four bytes that were actually read.",11,null],[13,"LimitReached","tz::internals","The error when too many structures would have been read from the\nbuffer, in order to prevent this library from using too much memory.",11,null],[12,"structures","tz::internals::Error","The type of structure that we attempted to read.",11,null],[12,"intended_count","","The number of these structures that we attempted to read.",11,null],[12,"limit","","The maximum number of structures that we can get away with.",11,null],[4,"Structures","tz::internals","A description of which value is being read. This gets used solely for\nerror reporting.",null,null],[13,"Transitions","","",12,null],[13,"LocalTimeTypes","","",12,null],[13,"LeapSeconds","","",12,null],[13,"GMTFlags","","",12,null],[13,"StandardFlags","","",12,null],[13,"TimezoneAbbrChars","","",12,null],[5,"parse","","Parse a series of bytes into a `TZData` structure, returning an error if\nthe buffer fails to be read from, or a limit is reached.",null,{"inputs":[{"name":"vec"},{"name":"limits"}],"output":{"name":"result"}}],[6,"Result","","A `std::result::Result` with a `Box<std::error::Error>` as the error type.\nThis is used to return a bunch of errors early, including a limit being\nreached, the buffer failed to be read from, or a string not being valid\nUTF-8.",null,null],[11,"clone","","",5,null],[11,"eq","","",5,null],[11,"ne","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",6,null],[11,"eq","","",6,null],[11,"ne","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",7,null],[11,"eq","","",7,null],[11,"ne","","",7,null],[11,"fmt","","",7,null],[11,"clone","","",8,null],[11,"eq","","",8,null],[11,"ne","","",8,null],[11,"fmt","","",8,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[11,"none","","No size limits. This might use *lots* of memory when reading an\ninvalid file, so be careful.",9,{"inputs":[],"output":{"name":"limits"}}],[11,"sensible","","A reasonable set of default values that pose no danger of using lots\nof memory.",9,{"inputs":[],"output":{"name":"limits"}}],[11,"verify","","Makes sure the values we just read from the header are within this set\nof limits. Returns `Ok(())` if everything is within the limits, and a\nboxed `Error` if at least one count is over.",9,null],[11,"fmt","","",11,null],[11,"fmt","","",12,null],[11,"fmt","","",11,null],[11,"fmt","","",12,null],[11,"description","","",11,null],[11,"clone","","",10,null],[11,"eq","","",10,null],[11,"ne","","",10,null],[11,"fmt","","",10,null],[11,"clone","tz","",0,null],[11,"fmt","","",0,null],[11,"eq","","",0,null],[11,"ne","","",0,null],[11,"clone","","",4,null],[11,"eq","","",4,null],[11,"fmt","","",4,null],[11,"clone","","",1,null],[11,"eq","","",1,null],[11,"ne","","",1,null],[11,"fmt","","",1,null],[11,"clone","","",2,null],[11,"eq","","",2,null],[11,"ne","","",2,null],[11,"fmt","","",2,null],[11,"clone","","",3,null],[11,"eq","","",3,null],[11,"ne","","",3,null],[11,"fmt","","",3,null]],"paths":[[3,"TZData"],[3,"Transition"],[3,"LeapSecond"],[3,"LocalTimeType"],[4,"TransitionType"],[3,"Header"],[3,"TransitionData"],[3,"LocalTimeTypeData"],[3,"LeapSecondData"],[3,"Limits"],[3,"TZData"],[4,"Error"],[4,"Structures"]]}; initSearch(searchIndex);