model: Generalizing content store implementation
diff --git a/utils/trie/counting-policy.h b/utils/trie/counting-policy.h
index ffa2d1a..2c8656c 100644
--- a/utils/trie/counting-policy.h
+++ b/utils/trie/counting-policy.h
@@ -34,6 +34,9 @@
  */
 struct counting_policy_traits
 {
+  /// @brief Name that can be used to identify the policy (for NS-3 object model and logging)
+  static std::string GetName () { return "Counting"; }
+
   struct policy_hook_type : public boost::intrusive::list_member_hook<> {};
 
   template<class Container>
diff --git a/utils/trie/empty-policy.h b/utils/trie/empty-policy.h
index a50b9e8..c610717 100644
--- a/utils/trie/empty-policy.h
+++ b/utils/trie/empty-policy.h
@@ -30,6 +30,9 @@
  */
 struct empty_policy_traits
 {
+  /// @brief Name that can be used to identify the policy (for NS-3 object model and logging)
+  static std::string GetName () { return ""; }
+
   typedef void* policy_hook_type;
 
   template<class Container> struct container_hook { typedef void* type; };
diff --git a/utils/trie/fifo-policy.h b/utils/trie/fifo-policy.h
index 77d4ce2..7ab4ec7 100644
--- a/utils/trie/fifo-policy.h
+++ b/utils/trie/fifo-policy.h
@@ -33,6 +33,9 @@
  */
 struct fifo_policy_traits
 {
+  /// @brief Name that can be used to identify the policy (for NS-3 object model and logging)
+  static std::string GetName () { return "Fifo"; }
+
   struct policy_hook_type : public boost::intrusive::list_member_hook<> {};
 
   template<class Container>
diff --git a/utils/trie/lru-policy.h b/utils/trie/lru-policy.h
index 15b482f..a248117 100644
--- a/utils/trie/lru-policy.h
+++ b/utils/trie/lru-policy.h
@@ -33,6 +33,9 @@
  */
 struct lru_policy_traits
 {
+  /// @brief Name that can be used to identify the policy (for NS-3 object model and logging)
+  static std::string GetName () { return "Lru"; }
+  
   struct policy_hook_type : public boost::intrusive::list_member_hook<> {};
 
   template<class Container>
diff --git a/utils/trie/persistent-policy.h b/utils/trie/persistent-policy.h
index 95c7d8f..9b706b0 100644
--- a/utils/trie/persistent-policy.h
+++ b/utils/trie/persistent-policy.h
@@ -36,6 +36,9 @@
  */
 struct persistent_policy_traits
 {
+  /// @brief Name that can be used to identify the policy (for NS-3 object model and logging)
+  static std::string GetName () { return "Persistent"; }
+
   struct policy_hook_type : public boost::intrusive::list_member_hook<> {};
 
   template<class Container>
diff --git a/utils/trie/random-policy.h b/utils/trie/random-policy.h
index 9e0dde6..1800f95 100644
--- a/utils/trie/random-policy.h
+++ b/utils/trie/random-policy.h
@@ -35,6 +35,9 @@
  */
 struct random_policy_traits
 {
+  /// @brief Name that can be used to identify the policy (for NS-3 object model and logging)
+  static std::string GetName () { return "Random"; }
+
   struct policy_hook_type : public boost::intrusive::set_member_hook<> { uint32_t randomOrder; };
 
   template<class Container>