std::list<std::string> enum_header_formatter::inclusion_dependencies( const formattables::inclusion_dependencies_builder_factory& f, const yarn::element& e) const { auto builder(f.make()); builder.add(e.name(), types::traits::enum_header_archetype()); return builder.build(); }
std::list<std::string> exception_header_formatter::inclusion_dependencies( const formattables::inclusion_dependencies_builder_factory& f, const yarn::element& /*e*/) const { auto builder(f.make()); builder.add(inclusion_constants::std::string()); builder.add(inclusion_constants::boost::exception::info()); return builder.build(); }
std::list<std::string> forward_declarations_formatter::inclusion_dependencies( const formattables::inclusion_dependencies_builder_factory& f, const yarn::element& e) const { auto builder(f.make()); using tp = formatters::types::traits; const auto tp_fn(tp::forward_declarations_archetype()); builder.add(e.name(), tp_fn); return builder.build(); }
std::list<std::string> class_header_formatter::inclusion_dependencies( const formattables::inclusion_dependencies_builder_factory& f, const yarn::element& e) const { const auto& o(assistant::as<yarn::object>(static_artefact(), e)); auto builder(f.make()); builder.add(o.name(), types::traits::class_header_archetype()); using ic = inclusion_constants; builder.add(ic::boost::serialization::split_free()); if (o.is_parent()) builder.add(ic::boost::serialization::assume_abstract()); if (!o.is_parent() && o.is_child()) builder.add(ic::boost::type_traits::is_virtual_base_of()); return builder.build(); }
std::list<std::string> class_implementation_formatter::inclusion_dependencies( const formattables::inclusion_dependencies_builder_factory& f, const yarn::element& e) const { const auto& o(assistant::as<yarn::object>(static_artefact(), e)); auto builder(f.make()); const auto ch_fn(traits::class_header_archetype()); builder.add(o.name(), ch_fn); using ic = inclusion_constants; builder.add(ic::boost::archive::text_iarchive()); builder.add(ic::boost::archive::text_oarchive()); builder.add(ic::boost::archive::binary_iarchive()); builder.add(ic::boost::archive::binary_oarchive()); builder.add(ic::boost::archive::polymorphic_iarchive()); builder.add(ic::boost::archive::polymorphic_oarchive()); // XML serialisation builder.add(ic::boost::serialization::nvp()); builder.add(ic::boost::archive::xml_iarchive()); builder.add(ic::boost::archive::xml_oarchive()); const auto carch(traits::canonical_archetype()); builder.add(o.transparent_associations(), carch); builder.add(o.opaque_associations(), carch); builder.add(o.parent(), carch); builder.add(o.leaves(), carch); const auto si(builder.make_special_includes(o)); if (si.has_date) builder.add(ic::boost::date_time::gregorian::identity()); if (si.has_ptime) builder.add(ic::boost::date_time::posix_time::identity()); return builder.build(); }