-#[derive(Default)]
-struct Headers<'a> {
- header: Option<raw::HeaderRecord<Cow<'a, str>>>,
- variables: Vec<raw::VariableRecord<Cow<'a, str>, String>>,
- value_labels: Vec<&'a raw::ValueLabelRecord<RawStr<8>, RawString>>,
- documents: Vec<raw::DocumentRecord<Cow<'a, str>>>,
- integer_info: Option<&'a raw::IntegerInfoRecord>,
- float_info: Option<&'a raw::FloatInfoRecord>,
- variable_sets: Vec<&'a raw::VariableSetRecord>,
- var_display: Option<&'a raw::VarDisplayRecord>,
- multiple_response: Vec<&'a raw::MultipleResponseRecord<RawString, RawString>>,
- long_string_value_labels: Vec<&'a raw::LongStringValueLabelRecord<RawString>>,
- long_string_missing_values: Vec<raw::LongStringMissingValueRecord<Identifier, String>>,
- encoding: Option<&'a raw::EncodingRecord>,
- number_of_cases: Option<&'a raw::NumberOfCasesRecord>,
- product_info: Option<&'a raw::ProductInfoRecord>,
- long_names: Option<&'a raw::LongNamesRecord>,
- very_long_strings: Vec<&'a raw::VeryLongStringsRecord>,
- file_attributes: Vec<&'a raw::FileAttributeRecord>,
- variable_attributes: Vec<&'a raw::VariableAttributeRecord>,
- other_extensions: Vec<&'a raw::Extension>,
- cases: Option<&'a Rc<RefCell<raw::Cases>>>,
+#[derive(Clone, Debug)]
+pub struct Headers {
+ pub header: HeaderRecord<String>,
+ pub variable: Vec<VariableRecord<String, String>>,
+ pub value_label: Vec<ValueLabelRecord<RawStr<8>, String>>,
+ pub document: Vec<DocumentRecord<String>>,
+ pub integer_info: Option<IntegerInfoRecord>,
+ pub float_info: Option<FloatInfoRecord>,
+ pub var_display: Option<VarDisplayRecord>,
+ pub multiple_response: Vec<MultipleResponseRecord<Identifier, String>>,
+ pub long_string_value_labels: Vec<LongStringValueLabelRecord<Identifier, String>>,
+ pub long_string_missing_values: Vec<LongStringMissingValueRecord<Identifier, String>>,
+ pub encoding: Option<EncodingRecord>,
+ pub number_of_cases: Option<NumberOfCasesRecord>,
+ pub variable_sets: Vec<VariableSetRecord>,
+ pub product_info: Option<ProductInfoRecord>,
+ pub long_names: Vec<LongNamesRecord>,
+ pub very_long_strings: Vec<VeryLongStringsRecord>,
+ pub file_attributes: Vec<FileAttributeRecord>,
+ pub variable_attributes: Vec<VariableAttributeRecord>,
+ pub other_extension: Vec<Extension>,
+ pub end_of_headers: Option<u32>,
+ pub z_header: Option<ZHeader>,
+ pub z_trailer: Option<ZTrailer>,
+ pub cases: Option<Rc<RefCell<Cases>>>,