Implementing new cache replacement strategies: Random and FIFO
diff --git a/examples/trie.cc b/examples/trie.cc
index 4d82ba6..3e77a4f 100644
--- a/examples/trie.cc
+++ b/examples/trie.cc
@@ -20,7 +20,7 @@
 
 #include "ns3/core-module.h"
 #include "ns3/ndnSIM-module.h"
-#include "../utils/trie.h"
+#include "../utils/trie-with-policy.h"
 
 using namespace ns3;
 
@@ -46,9 +46,15 @@
 int
 main (int argc, char *argv[])
 {
-  typedef indexed_trie<ns3::CcnxNameComponents, Integer, smart_pointer_payload_traits<Integer> > trie;
+  typedef trie_with_policy<ns3::CcnxNameComponents,
+                           Integer,
+                           smart_pointer_payload_traits<Integer>,
+                           lru_policy_traits<CcnxNameComponents,
+                                             Integer,
+                                             smart_pointer_payload_traits<Integer> >
+                           > trie;
   trie x;
-  x.getPolicy ().set_max_size (2);
+  x.getPolicy ().set_max_size (100);
   
   // x.getTrie ().PrintStat (std::cout);
   
@@ -61,22 +67,23 @@
   ns3::Ptr<Integer> i = ns3::Create<Integer> (1);
   x.insert (n4, ns3::Create<Integer> (4));
 
-
-  
   x.insert (n3, ns3::Create<Integer> (3));
   
   std::pair< trie::iterator, bool > item =
     x.insert (n2, ns3::Create<Integer> (2));
-  x.erase (item.first);
+  // x.erase (item.first);
 
   x.insert (n1, ns3::Create<Integer> (1));
   x.insert (n4, ns3::Create<Integer> (4));
 
-  // std::cout << x.getTrie ();
-  BOOST_FOREACH (const trie::parent_trie &item, x.getPolicy ())
-    {
-      std::cout << *item.payload () << " " << std::endl;
-    }
+  std::cout << "digraph trie {\n";
+  std::cout << x.getTrie ();
+  std::cout << "}\n";
+
+  // BOOST_FOREACH (const trie::parent_trie &item, x.getPolicy ())
+  //   {
+  //     std::cout << *item.payload () << " " << std::endl;
+  //   }
 
   // ns3::CcnxNameComponents n4;
   // n4("a")("c");