Fixes a potential compilation error.
authorManuel Klimek <klimek@google.com>
Tue, 20 Dec 2011 11:04:23 +0000 (11:04 +0000)
committerManuel Klimek <klimek@google.com>
Tue, 20 Dec 2011 11:04:23 +0000 (11:04 +0000)
Pulling the template implementation into the header to guarantee
that it's visible to all possible instantiations.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146973 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/JSONParser.h
lib/Support/JSONParser.cpp

index 0150646bc37945d47bcd82c9beddc13ac9a8de9d..f4cdfa56088cabdf15e593b093a2b8b14e8b80de 100644 (file)
@@ -128,7 +128,16 @@ private:
 
   /// \brief Skips all elements in the given container.
   template <typename ContainerT>
-  bool skipContainer(const ContainerT &Container);
+  bool skipContainer(const ContainerT &Container) {
+    for (typename ContainerT::const_iterator I = Container.current(),
+                                             E = Container.end();
+         I != E; ++I) {
+      assert(*I != 0);
+      if (!skip(**I))
+        return false;
+    }
+    return !failed();
+  }
 
   /// \brief Skips to the next position behind the given JSON atom.
   bool skip(const JSONAtom &Atom);
index 02187409cbf42f5f21fb9e4315b6e83ba434084e..994ca9fc966b5b8acb28e15968ab08ca551b3983 100644 (file)
@@ -43,18 +43,6 @@ bool JSONParser::validate() {
   return skip(*parseRoot());
 }
 
-template <typename ContainerT>
-bool JSONParser::skipContainer(const ContainerT &Container) {
-  for (typename ContainerT::const_iterator I = Container.current(),
-                                           E = Container.end();
-       I != E; ++I) {
-    assert(*I != 0);
-    if (!skip(**I))
-      return false;
-  }
-  return !failed();
-}
-
 bool JSONParser::skip(const JSONAtom &Atom) {
   switch(Atom.getKind()) {
     case JSONAtom::JK_Array: return skipContainer(*cast<JSONArray>(&Atom));