From 78143abc9defdc8f965be69f3aa69a6ef59f3d95 Mon Sep 17 00:00:00 2001 From: Alinshans <13925588730@163.com> Date: Sat, 19 Aug 2017 20:13:11 +0800 Subject: [PATCH] :clipboard: Add some notes. --- MyTinySTL/deque.h | 11 +++++++++++ MyTinySTL/list.h | 11 +++++++++++ MyTinySTL/map.h | 8 ++++++++ MyTinySTL/set.h | 8 ++++++++ MyTinySTL/unordered_map.h | 8 ++++++++ MyTinySTL/unordered_set.h | 8 ++++++++ 6 files changed, 54 insertions(+) diff --git a/MyTinySTL/deque.h b/MyTinySTL/deque.h index c7ce07f..cb70d1c 100644 --- a/MyTinySTL/deque.h +++ b/MyTinySTL/deque.h @@ -4,6 +4,17 @@ // 这个头文件包含了一个模板类 deque // deque: 双端队列 +// notes: +// +// 异常保证: +// mystl::deque 满足基本异常保证,部分函数无异常保证,并对以下等函数做强异常安全保证: +// * emplace_front +// * emplace_back +// * emplace +// * push_front +// * push_back +// * insert + #include #include "iterator.h" diff --git a/MyTinySTL/list.h b/MyTinySTL/list.h index 78d27c3..81252da 100644 --- a/MyTinySTL/list.h +++ b/MyTinySTL/list.h @@ -4,6 +4,17 @@ // 这个头文件包含了一个模板类 list // list : 双向链表 +// notes: +// +// 异常保证: +// mystl::list 满足基本异常保证,部分函数无异常保证,并对以下等函数做强异常安全保证: +// * emplace_front +// * emplace_back +// * emplace +// * push_front +// * push_back +// * insert + #include #include "iterator.h" diff --git a/MyTinySTL/map.h b/MyTinySTL/map.h index 6c1d01d..da61c59 100644 --- a/MyTinySTL/map.h +++ b/MyTinySTL/map.h @@ -5,6 +5,14 @@ // map : 映射,元素具有键值和实值,会根据键值大小自动排序,键值不允许重复 // multimap : 映射,元素具有键值和实值,会根据键值大小自动排序,键值允许重复 +// notes: +// +// 异常保证: +// mystl::map / mystl::multimap 满足基本异常保证,对以下等函数做强异常安全保证: +// * emplace +// * emplace_hint +// * insert + #include "rb_tree.h" namespace mystl diff --git a/MyTinySTL/set.h b/MyTinySTL/set.h index 2c51232..3aa8434 100644 --- a/MyTinySTL/set.h +++ b/MyTinySTL/set.h @@ -5,6 +5,14 @@ // set : 集合,键值即实值,集合内元素会自动排序,键值不允许重复 // multiset : 集合,键值即实值,集合内元素会自动排序,键值允许重复 +// notes: +// +// 异常保证: +// mystl::set / mystl::multiset 满足基本异常保证,对以下等函数做强异常安全保证: +// * emplace +// * emplace_hint +// * insert + #include "rb_tree.h" namespace mystl diff --git a/MyTinySTL/unordered_map.h b/MyTinySTL/unordered_map.h index 221dd70..5838a21 100644 --- a/MyTinySTL/unordered_map.h +++ b/MyTinySTL/unordered_map.h @@ -4,6 +4,14 @@ // 这个头文件包含两个模板类 unordered_map 和 unordered_multimap // 功能与用法与 map 和 multimap 类似,不同的是使用 hashtable 作为底层实现机制,容器内的元素不会自动排序 +// notes: +// +// 异常保证: +// mystl::unordered_map / mystl::unordered_multimap 满足基本异常保证,对以下等函数做强异常安全保证: +// * emplace +// * emplace_hint +// * insert + #include "hashtable.h" namespace mystl diff --git a/MyTinySTL/unordered_set.h b/MyTinySTL/unordered_set.h index 312780f..eb60589 100644 --- a/MyTinySTL/unordered_set.h +++ b/MyTinySTL/unordered_set.h @@ -4,6 +4,14 @@ // 这个头文件包含两个模板类 unordered_set 和 unordered_multiset // 功能与用法与 set 和 multiset 类似,不同的是使用 hashtable 作为底层实现机制,容器中的元素不会自动排序 +// notes: +// +// 异常保证: +// mystl::unordered_set / mystl::unordered_multiset 满足基本异常保证,对以下等函数做强异常安全保证: +// * emplace +// * emplace_hint +// * insert + #include "hashtable.h" namespace mystl