Jelajahi Sumber

Merge pull request #1484 from serverglen/flat_map_example

Add butil::FlatMap example in the doc
Jiashun Zhu 2 tahun lalu
induk
melakukan
53f6436a63
1 mengubah file dengan 29 tambahan dan 1 penghapusan
  1. 29 1
      docs/cn/flatmap.md

+ 29 - 1
docs/cn/flatmap.md

@@ -4,7 +4,35 @@ FlatMap - Maybe the fastest hashmap, with tradeoff of space.
 
 # EXAMPLE
 
-`#include <butil/containers/flat_map.h>`
+```c++
+#include <string>
+#include <butil/logging.h>
+#include <butil/containers/flat_map.h>
+
+void flatmap_example() {
+    butil::FlatMap<int, std::string> map;
+    // bucket_count: initial count of buckets, big enough to avoid resize.
+    // load_factor: element_count * 100 / bucket_count, 80 as default.
+    int bucket_count = 1000;
+    int load_factor = 80;
+    map.init(bucket_count, load_factor);
+    map.insert(10, "hello");
+    map[20] = "world";
+    std::string* value = map.seek(20);
+    CHECK(value != NULL);
+
+    CHECK_EQ(2UL, map.size());
+    CHECK_EQ(0UL, map.erase(30));
+    CHECK_EQ(1UL, map.erase(10));
+
+    LOG(INFO) << "All elements of the map:";
+    for (butil::FlatMap<int, std::string>::const_iterator it = map.begin(); it != map.end(); ++it) {
+        LOG(INFO) << it->first << " : " << it->second;
+    }
+    map.clear();
+    CHECK_EQ(0UL, map.size());
+}
+```
 
 # DESCRIPTION