Make code compilable using clang compiler

Apparently, clang has problems with BOOST_FOREACH and intrusive containers
diff --git a/examples/trie.cc b/examples/trie.cc
index 2c35ac4..1b9fb5a 100644
--- a/examples/trie.cc
+++ b/examples/trie.cc
@@ -254,24 +254,6 @@
       {
         return this->container2_;
       }
-      // template<>
-      // inline typename policy_container::container1_type &
-      // get<1> ()
-      // {
-      //   return this->container1_;
-      // }
-      // inline void
-      // set_max_size (size_t max_size)
-      // {
-      //   this->container1_.set_max_size (max_size);
-      //   this->container2_.set_max_size (max_size);
-      // }
-
-      // inline size_t
-      // get_max_size () const
-      // {
-      //   return this->container1_.get_max_size ();
-      // }
     };
   };
 };
diff --git a/model/ccnx-content-store-impl.h b/model/ccnx-content-store-impl.h
index e2ee632..9619341 100644
--- a/model/ccnx-content-store-impl.h
+++ b/model/ccnx-content-store-impl.h
@@ -92,9 +92,12 @@
 void 
 CcnxContentStoreImpl<Container>::Print (std::ostream &os) const
 {
-  BOOST_FOREACH (const typename Container::parent_trie &item, this->getPolicy ())
+  for (typename Container::policy_container::const_iterator item = this->getPolicy ().begin ();
+       item != this->getPolicy ().end ();
+       item++)
+  // BOOST_FOREACH (const typename Container::parent_trie &item, this->getPolicy ())
     {
-      os << item.payload ()->GetName () << std::endl;
+      os << item->payload ()->GetName () << std::endl;
     }
 }
 
diff --git a/utils/trie.h b/utils/trie.h
index ebaa921..f65e242 100644
--- a/utils/trie.h
+++ b/utils/trie.h
@@ -345,9 +345,12 @@
     return this;
 
   typedef trie<FullKey, Payload, PayloadTraits, PolicyHook> trie;
-  BOOST_FOREACH (trie &subnode, children_)
+  for (typename trie::unordered_set::iterator subnode = children_.begin ();
+       subnode != children_.end ();
+       subnode++ )
+  // BOOST_FOREACH (trie &subnode, children_)
     {
-      iterator value = subnode.find ();
+      iterator value = subnode->find ();
       if (value != 0)
 	return value;
     }
@@ -365,11 +368,14 @@
     return this;
 
   typedef trie<FullKey, Payload, PayloadTraits, PolicyHook> trie;
-  BOOST_FOREACH (const trie &subnode, children_)
+  for (typename trie::unordered_set::iterator subnode = children_.begin ();
+       subnode != children_.end ();
+       subnode++ )
+  // BOOST_FOREACH (const trie &subnode, children_)
     {
-      iterator value = subnode.find ();
+      iterator value = subnode->find ();
       if (value != 0)
-	return value;
+        return value;
     }
   
   return 0;
@@ -407,13 +413,17 @@
 {
   os << "# " << trie_node.key_ << ((trie_node.payload_ != 0)?"*":"") << std::endl;
   typedef trie<FullKey, Payload, PayloadTraits, PolicyHook> trie;
-  BOOST_FOREACH (const trie &subnode, trie_node.children_)
+
+  for (typename trie::unordered_set::const_iterator subnode = trie_node.children_.begin ();
+       subnode != trie_node.children_.end ();
+       subnode++ )
+  // BOOST_FOREACH (const trie &subnode, trie_node.children_)
     {
       os << "\"" << &trie_node << "\"" << " [label=\"" << trie_node.key_ << ((trie_node.payload_ != 0)?"*":"") << "\"]\n";
-      os << "\"" << &subnode << "\"" << " [label=\"" << subnode.key_ << ((subnode.payload_ != 0)?"*":"") << "\"]""\n";
+      os << "\"" << &(*subnode) << "\"" << " [label=\"" << subnode->key_ << ((subnode->payload_ != 0)?"*":"") << "\"]""\n";
       
-      os << "\"" << &trie_node << "\"" << " -> " << "\"" << &subnode << "\"" << "\n";
-      os << subnode;
+      os << "\"" << &trie_node << "\"" << " -> " << "\"" << &(*subnode) << "\"" << "\n";
+      os << *subnode;
     }
 
   return os;
@@ -434,9 +444,12 @@
   os << "\n";
 
   typedef trie<FullKey, Payload, PayloadTraits, PolicyHook> trie;
-  BOOST_FOREACH (const trie &subnode, children_)
+  for (typename trie::unordered_set::const_iterator subnode = children_.begin ();
+       subnode != children_.end ();
+       subnode++ )
+  // BOOST_FOREACH (const trie &subnode, children_)
     {
-      subnode.PrintStat (os);
+      subnode->PrintStat (os);
     }
 }