C++ STLには、明らかに順序付けられたツリーデータ構造がありません。 hereを参照してください。 Boostには順序木もありませんが、データが挿入されて順序付けされた "un"オーダーのものがあります。Property Tree私は命令が記憶に関係なくであることを望む。C++で順序付けされたツリー
プロパティツリーの追加ページには、これが概念的にはboost :: ptree構造であることが記載されています。
struct ptree
{
data_type data; // data associated with the node
list< pair<key_type, ptree> > children; // ordered list of named children by insertion
};
私は注文を追跡するためにブーストを拡張したいと考えています。
これは正しい方法ですか?
class ordered_ptree : public boost::property_tree::ptree {
public:
ordered_ptree(int id) : _id{id}{};
protected:
int _id;
};
私は混乱しています。なぜあなたは 'std :: map'を使用できませんか? – Pubby
@Pubbyもしできれば、それは大丈夫でしょう。ルートとノードの関係(効果的にstd :: tree)を処理するためにstd :: mapをどのように設定しますか?つまり、boostのptree XMLインポートは次のステップに役立ちます。 –