Commit 416c3f42c343c7029ef74b8013fe6274b29ce25b

Authored by Austin Van Blanton
1 parent 45998ba0

Add FlattenTransform to flatten a list of Templates to a single Template

Showing 1 changed file with 26 additions and 0 deletions
openbr/plugins/misc.cpp
... ... @@ -538,6 +538,32 @@ class EventTransform : public UntrainableMetaTransform
538 538 };
539 539 BR_REGISTER(Transform, EventTransform)
540 540  
  541 +/*!
  542 + * \ingroup transforms
  543 + * \brief Flattens a list of Templates into a single Template
  544 + * \author Austin Blanton \cite imaus10
  545 + */
  546 +class FlattenTransform : public UntrainableMetaTransform
  547 +{
  548 + Q_OBJECT
  549 +
  550 + void project(const TemplateList &src, TemplateList &dst) const
  551 + {
  552 + Template flat;
  553 + foreach (const Template &tmpl, src)
  554 + flat.append(tmpl);
  555 + dst.append(flat);
  556 + }
  557 +
  558 + void project(const Template &src, Template &dst) const
  559 + {
  560 + (void) src;
  561 + (void) dst;
  562 + qFatal("You shouldn't do that!");
  563 + }
  564 +};
  565 +BR_REGISTER(Transform, FlattenTransform)
  566 +
541 567 }
542 568  
543 569 #include "misc.moc"
... ...