73 void visit(
const typename Heirarchy_::template NodeType<NamedSetDepSpec>::Type & node);
74 void visit(
const typename Heirarchy_::template NodeType<PlainTextDepSpec>::Type & node);
75 void visit(
const typename Heirarchy_::template NodeType<PackageDepSpec>::Type & node);
76 void visit(
const typename Heirarchy_::template NodeType<SimpleURIDepSpec>::Type & node);
77 void visit(
const typename Heirarchy_::template NodeType<PlainTextLabelDepSpec>::Type & node);
79 void visit(
const typename Heirarchy_::template NodeType<AllDepSpec>::Type & node);
80 void visit(
const typename Heirarchy_::template NodeType<AnyDepSpec>::Type & node);
81 void visit(
const typename Heirarchy_::template NodeType<ConditionalDepSpec>::Type & node);
88 void handle_item(
const Item_ & spec);
97 const std::shared_ptr<const PackageID> & =
typename std::enable_if<
98 std::is_same<Heirarchy_, SetSpecTree>::value,
99 std::shared_ptr<const PackageID> >::type());
103 DepSpecFlattener(
const DepSpecFlattener &) =
delete;
105 DepSpecFlattener & operator= (
const DepSpecFlattener &) =
delete;
112 struct ConstIteratorTag;
115 ConstIterator begin()
const;
116 ConstIterator end()
const;