common: Move loop parser decorator into its own source file.
diff --git a/common/trace_parser.hpp b/common/trace_parser.hpp
index e62092a..b638aa1 100644
--- a/common/trace_parser.hpp
+++ b/common/trace_parser.hpp
@@ -240,32 +240,8 @@
 };
 
 
-// Decorator for parser which loops
-class LastFrameLoopParser : public AbstractParser  {
-public:
-    LastFrameLoopParser(AbstractParser *p, int c) {
-        parser = p;
-        loopCount = c;
-    }
-
-    ~LastFrameLoopParser() {
-        delete parser;
-    }
-
-    Call *parse_call(void);
-
-    // Delegate to Parser
-    void getBookmark(ParseBookmark &bookmark) { parser->getBookmark(bookmark); }
-    void setBookmark(const ParseBookmark &bookmark) { parser->setBookmark(bookmark); }
-    bool open(const char *filename);
-    void close(void) { parser->close(); }
-    unsigned long long getVersion(void) const { return parser->getVersion(); }
-private:
-    int loopCount;
-    AbstractParser *parser;
-    ParseBookmark frameStart;
-    ParseBookmark lastFrameStart;
-};
+AbstractParser *
+lastFrameLoopParser(AbstractParser *parser, int loopCount);
 
 
 } /* namespace trace */