Lines Matching refs:strct
53 Api::Struct(strct) => write_struct_decl(out, &strct.name), in write_forward_declarations()
86 Api::Struct(strct) if !structs_written.contains(&strct.name.rust) => { in write_data_structures()
88 if !out.types.cxx.contains(&strct.name.rust) { in write_data_structures()
91 .get(&strct.name.rust) in write_data_structures()
97 if next.name.rust == strct.name.rust { in write_data_structures()
142 Api::Struct(strct) => write_struct_operator_decls(out, strct), in write_functions()
155 Api::Struct(strct) => write_struct_operators(out, strct), in write_functions()
171 if let Api::Struct(strct) = api { in write_std_specializations()
172 if derive::contains(&strct.derives, Trait::Hash) { in write_std_specializations()
176 let qualified = strct.name.to_fully_qualified(); in write_std_specializations()
183 let link_name = mangle::operator(&strct.name, "hash"); in write_std_specializations()
185 for name in &strct.name.namespace { in write_std_specializations()
249 fn write_struct<'a>(out: &mut OutFile<'a>, strct: &'a Struct, methods: &[&ExternFn]) { in write_struct()
250 let operator_eq = derive::contains(&strct.derives, Trait::PartialEq); in write_struct()
251 let operator_ord = derive::contains(&strct.derives, Trait::PartialOrd); in write_struct()
253 out.set_namespace(&strct.name.namespace); in write_struct()
254 let guard = format!("CXXBRIDGE1_STRUCT_{}", strct.name.to_symbol()); in write_struct()
257 write_doc(out, "", &strct.doc); in write_struct()
258 writeln!(out, "struct {} final {{", strct.name.cxx); in write_struct()
260 for field in &strct.fields { in write_struct()
289 strct.name.cxx, in write_struct()
294 strct.name.cxx, in write_struct()
302 strct.name.cxx, in write_struct()
307 strct.name.cxx, in write_struct()
312 strct.name.cxx, in write_struct()
317 strct.name.cxx, in write_struct()
505 fn write_struct_operator_decls<'a>(out: &mut OutFile<'a>, strct: &'a Struct) { in write_struct_operator_decls()
506 out.set_namespace(&strct.name.namespace); in write_struct_operator_decls()
509 if derive::contains(&strct.derives, Trait::PartialEq) { in write_struct_operator_decls()
510 let link_name = mangle::operator(&strct.name, "eq"); in write_struct_operator_decls()
514 link_name, strct.name.cxx, in write_struct_operator_decls()
517 if !derive::contains(&strct.derives, Trait::Eq) { in write_struct_operator_decls()
518 let link_name = mangle::operator(&strct.name, "ne"); in write_struct_operator_decls()
522 link_name, strct.name.cxx, in write_struct_operator_decls()
527 if derive::contains(&strct.derives, Trait::PartialOrd) { in write_struct_operator_decls()
528 let link_name = mangle::operator(&strct.name, "lt"); in write_struct_operator_decls()
532 link_name, strct.name.cxx, in write_struct_operator_decls()
535 let link_name = mangle::operator(&strct.name, "le"); in write_struct_operator_decls()
539 link_name, strct.name.cxx, in write_struct_operator_decls()
542 if !derive::contains(&strct.derives, Trait::Ord) { in write_struct_operator_decls()
543 let link_name = mangle::operator(&strct.name, "gt"); in write_struct_operator_decls()
547 link_name, strct.name.cxx, in write_struct_operator_decls()
550 let link_name = mangle::operator(&strct.name, "ge"); in write_struct_operator_decls()
554 link_name, strct.name.cxx, in write_struct_operator_decls()
559 if derive::contains(&strct.derives, Trait::Hash) { in write_struct_operator_decls()
561 let link_name = mangle::operator(&strct.name, "hash"); in write_struct_operator_decls()
565 link_name, strct.name.cxx, in write_struct_operator_decls()
572 fn write_struct_operators<'a>(out: &mut OutFile<'a>, strct: &'a Struct) { in write_struct_operators()
577 out.set_namespace(&strct.name.namespace); in write_struct_operators()
579 if derive::contains(&strct.derives, Trait::PartialEq) { in write_struct_operators()
584 strct.name.cxx, in write_struct_operators()
586 let link_name = mangle::operator(&strct.name, "eq"); in write_struct_operators()
594 strct.name.cxx, in write_struct_operators()
596 if derive::contains(&strct.derives, Trait::Eq) { in write_struct_operators()
599 let link_name = mangle::operator(&strct.name, "ne"); in write_struct_operators()
605 if derive::contains(&strct.derives, Trait::PartialOrd) { in write_struct_operators()
610 strct.name.cxx, in write_struct_operators()
612 let link_name = mangle::operator(&strct.name, "lt"); in write_struct_operators()
620 strct.name.cxx, in write_struct_operators()
622 let link_name = mangle::operator(&strct.name, "le"); in write_struct_operators()
630 strct.name.cxx, in write_struct_operators()
632 if derive::contains(&strct.derives, Trait::Ord) { in write_struct_operators()
635 let link_name = mangle::operator(&strct.name, "gt"); in write_struct_operators()
644 strct.name.cxx, in write_struct_operators()
646 if derive::contains(&strct.derives, Trait::Ord) { in write_struct_operators()
649 let link_name = mangle::operator(&strct.name, "ge"); in write_struct_operators()