軽率に XML DOM-like なものを実装したい気持ちを持て余しているので規格を眺めているが、やはり木構造ライブラリの型をそのまま露出してはだめだなぁの気持ちになっており険しい (それはそう)
不正な木の作成を弾いてやらないといけないので
べつにそれで実装してもいいんだけど、そうすると traversal におけるイテレータ型とか諸々のインターフェースとかすべてを strong typedef して露出するみたいな虚無作業が待ち受けているのであまりに険しいし保守性が悪い
strong typedef もうちょっと楽にできひんかという問題については過去マクロで頑張ってみたことがあったけど、汎用ソリューションに至るにはちょっと障害が多くて諦めたという過去がある
原理的には可能だがインターフェースがウンコすぎるので俺はメンテしたくねえ、という意味での “諦めた”
Structured derive targets · Issue #11 · lo48576/opaque_typedef
https://github.com/lo48576/opaque_typedef/issues/11
Selectable implementation for some operators · Issue #10 · lo48576/opaque_typedef
https://github.com/lo48576/opaque_typedef/issues/10