blob: ef741aff35bc96c4787753a94e96b320b16b006b [file] [log] [blame]
David Tolnay7eb9c6b2020-01-27 21:52:09 -08001pub static HEADER: &str = include_str!("include/cxxbridge.h");
David Tolnay7db73692019-10-20 14:51:12 -04002
3pub fn get(guard: &str) -> &'static str {
David Tolnay2a1eaac2020-02-24 02:01:47 -08004 let ifndef = format!("#ifndef {}", guard);
5 let endif = format!("#endif // {}", guard);
David Tolnay7db73692019-10-20 14:51:12 -04006 let begin = HEADER.find(&ifndef);
7 let end = HEADER.find(&endif);
8 if let (Some(begin), Some(end)) = (begin, end) {
9 &HEADER[begin..end + endif.len()]
10 } else {
11 panic!("not found in cxxbridge.h header: {}", guard)
12 }
13}