6868
6969 </ head >
7070 < body >
71- < header data-kunai-mdinfo ="{"meta": {"header": ["set"], "id-type": ["function"], "namespace": ["std"], "class": ["multiset"], "cpp": ["cpp17"]}, "sources": [{"id": "d076067e9e87c9eb02d7aa46997dbb3133b5c0b6", "source": "#include <iostream>\n#include <set>\n\nclass noncopyable {\nprotected:\n constexpr noncopyable() noexcept = default;\n ~noncopyable() = default;\n constexpr noncopyable(noncopyable const &) noexcept = delete;\n constexpr noncopyable(noncopyable &&) noexcept = default;\n noncopyable & operator=(noncopyable const &) noexcept = delete;\n noncopyable & operator=(noncopyable &&) noexcept = default;\n};\n\nstruct my_struct // \u30e0\u30fc\u30d6\u30aa\u30f3\u30ea\u30fc\u306a\u578b\n : private noncopyable {\n int value;\n int num = 0;\n static inline int count = 0;\n constexpr my_struct(int i) noexcept : value(i) { num = count++; };\n bool operator < (const my_struct &rhs) const noexcept {return this->value < rhs.value;}\n};\n\nint main()\n{\n // \u30e0\u30fc\u30d6\u30aa\u30f3\u30ea\u30fc\u306a\u578b\u3092\u30ad\u30fc\u3068\u3057\u3066\u6271\u3046 multiset\n std::multiset<my_struct> s;\n\n // \u633f\u5165\n s.insert(my_struct{1});\n s.insert(my_struct{1});\n s.insert(my_struct{2});\n\n // \u8981\u7d20\u3092\u53d6\u308a\u51fa\u3059\n my_struct m = std::move(s.extract(s.begin()).value());\n\n std::cout << \"value : \"<< m.value << \"\\n\"\n << \"num : \" << m.num;\n}\n"}, {"id": "da463b558ae79288d58663b0d204a11b24f1c9c4", "source": "#include <iostream>\n#include <set>\n\nint main()\n{\n std::multiset<int> s1;\n std::multiset<int> s2 = { 1, 1, 2 };\n\n // \u30ce\u30fc\u30c9\u3092\u53d6\u5f97\n std::multiset<int>::node_type node = s2.extract(1);\n\n // \u518d\u78ba\u4fdd\u306a\u3057\u306b\u5024\u3092\u66f8\u304d\u63db\u3048\u308b\n node.value() = 15;\n\n // \u30ce\u30fc\u30c9\u3092\u8ee2\u9001\n s1.insert(std::move(node));\n\n std::cout << \"s1 = { \";\n for(auto&& itr = s1.begin(); itr != s1.end();)\n std::cout << *itr << (++itr != s1.end() ? \", \" : \" }\\n\");\n\n std::cout << \"s2 = { \";\n for(auto&& itr = s2.begin(); itr != s2.end();)\n std::cout << *itr << (++itr != s2.end() ? \", \" : \" }\\n\");\n}\n"}], "page_id": ["reference", "set", "multiset", "extract"]} ">
71+ < header data-kunai-mdinfo ="{"meta": {"header": ["set"], "id-type": ["function"], "namespace": ["std"], "class": ["multiset"], "cpp": ["cpp17"]}, "sources": [{"id": "98d415c4033595f6b3b2feb05bc31bc33cabfdfd", "source": "#include <iostream>\n#include <set>\n\nclass noncopyable {\nprotected:\n constexpr noncopyable() noexcept = default;\n ~noncopyable() = default;\n constexpr noncopyable(noncopyable const &) noexcept = delete;\n constexpr noncopyable(noncopyable &&) noexcept = default;\n noncopyable & operator=(noncopyable const &) noexcept = delete;\n noncopyable & operator=(noncopyable &&) noexcept = default;\n};\n\nstruct my_struct // \u30e0\u30fc\u30d6\u30aa\u30f3\u30ea\u30fc\u306a\u578b\n : private noncopyable {\n int value;\n int num = 0;\n static inline int count = 0;\n constexpr my_struct(int i) noexcept : value(i) { num = count++; };\n bool operator < (const my_struct& rhs) const noexcept {return this->value < rhs.value;}\n};\n\nint main()\n{\n // \u30e0\u30fc\u30d6\u30aa\u30f3\u30ea\u30fc\u306a\u578b\u3092\u30ad\u30fc\u3068\u3057\u3066\u6271\u3046 multiset\n std::multiset<my_struct> s;\n\n // \u633f\u5165\n s.insert(my_struct{1});\n s.insert(my_struct{1});\n s.insert(my_struct{2});\n\n // \u8981\u7d20\u3092\u53d6\u308a\u51fa\u3059\n my_struct m = std::move(s.extract(s.begin()).value());\n\n std::cout << \"value : \"<< m.value << \"\\n\"\n << \"num : \" << m.num;\n}\n"}, {"id": "da463b558ae79288d58663b0d204a11b24f1c9c4", "source": "#include <iostream>\n#include <set>\n\nint main()\n{\n std::multiset<int> s1;\n std::multiset<int> s2 = { 1, 1, 2 };\n\n // \u30ce\u30fc\u30c9\u3092\u53d6\u5f97\n std::multiset<int>::node_type node = s2.extract(1);\n\n // \u518d\u78ba\u4fdd\u306a\u3057\u306b\u5024\u3092\u66f8\u304d\u63db\u3048\u308b\n node.value() = 15;\n\n // \u30ce\u30fc\u30c9\u3092\u8ee2\u9001\n s1.insert(std::move(node));\n\n std::cout << \"s1 = { \";\n for(auto&& itr = s1.begin(); itr != s1.end();)\n std::cout << *itr << (++itr != s1.end() ? \", \" : \" }\\n\");\n\n std::cout << \"s2 = { \";\n for(auto&& itr = s2.begin(); itr != s2.end();)\n std::cout << *itr << (++itr != s2.end() ? \", \" : \" }\\n\");\n}\n"}], "page_id": ["reference", "set", "multiset", "extract"]} ">
7272 < nav class ="navbar navbar-default " role ="navigation ">
7373 < div class ="container-fluid ">
7474 < div class ="navbar-header ">
200200
201201 < p class ="text-right "> < small >
202202 最終更新日時(UTC):
203- < span itemprop ="datePublished " content ="2024-06-11T13:45:38 ">
204- 2024年06月11日 13時45分38秒
203+ < span itemprop ="datePublished " content ="2025-12-23T12:07:41 ">
204+ 2025年12月23日 12時07分41秒
205205 </ span >
206206 < br />
207207 < span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
208- < span itemprop ="name "> Akira Takahashi </ span >
208+ < span itemprop ="name "> rotarymars </ span >
209209 </ span >
210210 が更新
211211 </ small > </ p >
@@ -252,7 +252,7 @@ <h2>備考</h2>
252252< li > この関数は、要素に対するコピーもムーブも行わずに、要素の所有権を転送することができる</ li >
253253< li > この関数は、再確保なしでマップ要素のキーを変更することができる</ li >
254254</ ul >
255- < p > < div class ="yata " id ="d076067e9e87c9eb02d7aa46997dbb3133b5c0b6 "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
255+ < p > < div class ="yata " id ="98d415c4033595f6b3b2feb05bc31bc33cabfdfd "> < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../iostream.html "> <iostream></ a > </ span > < span class ="cp "> </ span >
256256< span class ="cp "> #include</ span > < span class ="cpf "> < a href ="../../set.html "> <set></ a > </ span > < span class ="cp "> </ span >
257257
258258< span class ="k "> class</ span > < span class ="nc "> noncopyable</ span > < span class ="p "> {</ span >
@@ -271,7 +271,7 @@ <h2>備考</h2>
271271 < span class ="kt "> int</ span > < span class ="n "> num</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span >
272272 < span class ="k "> static</ span > < span class ="kr "> inline</ span > < span class ="kt "> int</ span > < span class ="n "> count</ span > < span class ="o "> =</ span > < span class ="mi "> 0</ span > < span class ="p "> ;</ span >
273273 < span class ="k "> constexpr</ span > < span class ="nf "> my_struct</ span > < span class ="p "> (</ span > < span class ="kt "> int</ span > < span class ="n "> i</ span > < span class ="p "> )</ span > < span class ="k "> noexcept</ span > < span class ="o "> :</ span > < span class ="n "> value</ span > < span class ="p "> (</ span > < span class ="n "> i</ span > < span class ="p "> )</ span > < span class ="p "> {</ span > < span class ="n "> num</ span > < span class ="o "> =</ span > < span class ="n "> count</ span > < span class ="o "> ++</ span > < span class ="p "> ;</ span > < span class ="p "> };</ span >
274- < span class ="kt "> bool</ span > < span class ="k "> operator</ span > < span class ="o "> <</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="n "> my_struct</ span > < span class ="o "> &</ span > < span class ="n "> rhs</ span > < span class ="p "> )</ span > < span class ="k "> const</ span > < span class ="k "> noexcept</ span > < span class ="p "> {</ span > < span class ="k "> return</ span > < span class ="k "> this</ span > < span class ="o "> -></ span > < span class ="n "> value</ span > < span class ="o "> <</ span > < span class ="n "> rhs</ span > < span class ="p "> .</ span > < span class ="n "> value</ span > < span class ="p "> ;}</ span >
274+ < span class ="kt "> bool</ span > < span class ="k "> operator</ span > < span class ="o "> <</ span > < span class ="p "> (</ span > < span class ="k "> const</ span > < span class ="n "> my_struct</ span > < span class ="o "> &</ span > < span class ="n "> rhs</ span > < span class ="p "> )</ span > < span class ="k "> const</ span > < span class ="k "> noexcept</ span > < span class ="p "> {</ span > < span class ="k "> return</ span > < span class ="k "> this</ span > < span class ="o "> -></ span > < span class ="n "> value</ span > < span class ="o "> <</ span > < span class ="n "> rhs</ span > < span class ="p "> .</ span > < span class ="n "> value</ span > < span class ="p "> ;}</ span >
275275< span class ="p "> };</ span >
276276
277277< span class ="kt "> int</ span > < span class ="nf "> main</ span > < span class ="p "> ()</ span >
0 commit comments