From 20e4f48083e3798c3e6c74b3751504335a14212c Mon Sep 17 00:00:00 2001 From: vitamin Date: Thu, 20 Jan 2022 17:27:35 +0100 Subject: [PATCH] refactor --- docs/autoptr/common.html | 12 +- ...uction.html => ControlBlockDeduction.html} | 24 ++-- ...ntrolType.html => SharedControlBlock.html} | 6 +- ...ntrolType.html => UniqueControlBlock.html} | 6 +- .../intrusive_ptr/IntrusivePtr.weak.html | 2 + docs/autoptr/rc_ptr/RcPtr.this.html | 4 +- docs/autoptr/rc_ptr/RcPtr.weak.html | 2 + .../shared_ptr/SharedPtr.ThreadLocal.html | 117 ------------------ docs/autoptr/shared_ptr/SharedPtr.html | 9 -- docs/autoptr/shared_ptr/SharedPtr.load.html | 2 +- .../shared_ptr/SharedPtr.opAssign.html | 2 +- docs/autoptr/shared_ptr/SharedPtr.this.html | 4 +- docs/autoptr/shared_ptr/SharedPtr.weak.html | 2 + docs/file_hashes.json | 2 +- docs/sitemap.xml | 7 +- docs/symbols.js | 7 +- src/autoptr/common.d | 33 +++-- src/autoptr/intrusive_ptr.d | 4 +- src/autoptr/rc_ptr.d | 20 +-- src/autoptr/shared_ptr.d | 58 ++++----- src/autoptr/unique_ptr.d | 10 +- 21 files changed, 101 insertions(+), 232 deletions(-) rename docs/autoptr/common/{ControlTypeDeduction.html => ControlBlockDeduction.html} (56%) rename docs/autoptr/common/{SharedControlType.html => SharedControlBlock.html} (88%) rename docs/autoptr/common/{UniqueControlType.html => UniqueControlBlock.html} (90%) delete mode 100644 docs/autoptr/shared_ptr/SharedPtr.ThreadLocal.html diff --git a/docs/autoptr/common.html b/docs/autoptr/common.html index 7e43cf3..17c31b3 100644 --- a/docs/autoptr/common.html +++ b/docs/autoptr/common.html @@ -174,8 +174,8 @@

Aliases

- - ControlTypeDeduction + + ControlBlockDeduction @@ -246,8 +246,8 @@

Aliases

- - SharedControlType + + SharedControlBlock @@ -258,8 +258,8 @@

Aliases

- - UniqueControlType + + UniqueControlBlock diff --git a/docs/autoptr/common/ControlTypeDeduction.html b/docs/autoptr/common/ControlBlockDeduction.html similarity index 56% rename from docs/autoptr/common/ControlTypeDeduction.html rename to docs/autoptr/common/ControlBlockDeduction.html index 9cce624..9e0e988 100644 --- a/docs/autoptr/common/ControlTypeDeduction.html +++ b/docs/autoptr/common/ControlBlockDeduction.html @@ -2,7 +2,7 @@ - Alias ControlTypeDeduction + Alias ControlBlockDeduction @@ -55,12 +55,12 @@
-

Alias ControlTypeDeduction

This template deduce ControlType shared qualifier in SharedPtr, RcPtr and UniquePtr. +

Alias ControlBlockDeduction

This template deduce ControlType shared qualifier in SharedPtr, RcPtr and UniquePtr.

- alias ControlTypeDeduction(Type, ControlType) + alias ControlBlockDeduction(Type, ControlType) = impl;
@@ -71,18 +71,18 @@

Alias ControlTypeDeduction

This template deduce

Example

-
alias ControlType = ControlBlock!(int, int);
+
alias CB = ControlBlock!(int, int);
 
-static assert(is(ControlTypeDeduction!(long, ControlType) == ControlType));
-static assert(is(ControlTypeDeduction!(void, ControlType) == ControlType));
-static assert(is(ControlTypeDeduction!(shared double, ControlType) == shared ControlType));
-static assert(is(ControlTypeDeduction!(const int, ControlType) == ControlType));
-static assert(is(ControlTypeDeduction!(shared const int, ControlType) == shared ControlType));
+static assert(is(ControlBlockDeduction!(long, CB) == CB));
+static assert(is(ControlBlockDeduction!(void, CB) == CB));
+static assert(is(ControlBlockDeduction!(shared double, CB) == shared CB));
+static assert(is(ControlBlockDeduction!(const int, CB) == CB));
+static assert(is(ControlBlockDeduction!(shared const int, CB) == shared CB));
 
-static assert(is(ControlTypeDeduction!(immutable int, ControlType) == ControlType));
+static assert(is(ControlBlockDeduction!(immutable int, CB) == CB));
 
-static assert(is(ControlTypeDeduction!(shared int[], ControlType) == shared ControlType));
-static assert(is(ControlTypeDeduction!(shared(int)[], ControlType) == ControlType));
+static assert(is(ControlBlockDeduction!(shared int[], CB) == shared CB));
+static assert(is(ControlBlockDeduction!(shared(int)[], CB) == CB));
 
diff --git a/docs/autoptr/common/SharedControlType.html b/docs/autoptr/common/SharedControlBlock.html similarity index 88% rename from docs/autoptr/common/SharedControlType.html rename to docs/autoptr/common/SharedControlBlock.html index bd177c9..9d074d1 100644 --- a/docs/autoptr/common/SharedControlType.html +++ b/docs/autoptr/common/SharedControlBlock.html @@ -2,7 +2,7 @@ - Alias SharedControlType + Alias SharedControlBlock @@ -55,12 +55,12 @@
-

Alias SharedControlType

Default ControlBlock for SharedPtr and RcPtr. +

Alias SharedControlBlock

Default ControlBlock for SharedPtr and RcPtr.

- alias SharedControlType + alias SharedControlBlock = ControlBlock!(int,int);
diff --git a/docs/autoptr/common/UniqueControlType.html b/docs/autoptr/common/UniqueControlBlock.html similarity index 90% rename from docs/autoptr/common/UniqueControlType.html rename to docs/autoptr/common/UniqueControlBlock.html index cffc097..659dfff 100644 --- a/docs/autoptr/common/UniqueControlType.html +++ b/docs/autoptr/common/UniqueControlBlock.html @@ -2,7 +2,7 @@ - Alias UniqueControlType + Alias UniqueControlBlock @@ -55,12 +55,12 @@
-

Alias UniqueControlType

Default ControlBlock for UniquePtr. +

Alias UniqueControlBlock

Default ControlBlock for UniquePtr.

- alias UniqueControlType + alias UniqueControlBlock = ControlBlock!(void,void);
diff --git a/docs/autoptr/intrusive_ptr/IntrusivePtr.weak.html b/docs/autoptr/intrusive_ptr/IntrusivePtr.weak.html index 40e7386..61573be 100644 --- a/docs/autoptr/intrusive_ptr/IntrusivePtr.weak.html +++ b/docs/autoptr/intrusive_ptr/IntrusivePtr.weak.html @@ -78,10 +78,12 @@

Function IntrusivePtr.weak

Returns weak pointer (must have weak count IntrusivePtr!Foo x = IntrusivePtr!Foo.make(123); assert(x.useCount == 1); + auto wx = x.weak; //weak pointer assert(wx.expired == false); assert(wx.lock.get.i == 123); assert(wx.useCount == 1); + x = null; assert(wx.expired == true); assert(wx.useCount == 0); diff --git a/docs/autoptr/rc_ptr/RcPtr.this.html b/docs/autoptr/rc_ptr/RcPtr.this.html index 35ab921..c89611f 100644 --- a/docs/autoptr/rc_ptr/RcPtr.this.html +++ b/docs/autoptr/rc_ptr/RcPtr.this.html @@ -154,13 +154,13 @@

Function RcPtr.this

Constructs a import core.lifetime : move; - auto u = UniquePtr!(long, SharedControlType).make(123); + auto u = UniquePtr!(long, SharedControlBlock).make(123); RcPtr!long s = move(u); //rvalue copy ctor assert(s != null); assert(s.useCount == 1); - RcPtr!long s2 = UniquePtr!(long, SharedControlType).init; + RcPtr!long s2 = UniquePtr!(long, SharedControlBlock).init; assert(s2 == null); } diff --git a/docs/autoptr/rc_ptr/RcPtr.weak.html b/docs/autoptr/rc_ptr/RcPtr.weak.html index 8af843f..5a4094b 100644 --- a/docs/autoptr/rc_ptr/RcPtr.weak.html +++ b/docs/autoptr/rc_ptr/RcPtr.weak.html @@ -69,10 +69,12 @@

Function RcPtr.weak

Returns weak pointer (must have weak counter).

Examples

RcPtr!long x = RcPtr!long.make(123);
 assert(x.useCount == 1);
+
 auto wx = x.weak;   //weak pointer
 assert(wx.expired == false);
 assert(wx.lock.get == 123);
 assert(wx.useCount == 1);
+
 x = null;
 assert(wx.expired == true);
 assert(wx.useCount == 0);
diff --git a/docs/autoptr/shared_ptr/SharedPtr.ThreadLocal.html b/docs/autoptr/shared_ptr/SharedPtr.ThreadLocal.html deleted file mode 100644 index f5db12e..0000000 --- a/docs/autoptr/shared_ptr/SharedPtr.ThreadLocal.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - Alias SharedPtr.ThreadLocal - - - - - - -
-

Alias SharedPtr.ThreadLocal

Return thread local SharedPtr if specified: -

-
- -
- struct SharedPtr -
- - { -
-
-   // ... -
-   alias ThreadLocal(bool threadLocal = true) - = SharedPtr!(_Type,_DestructorType,Select!(threadLocal,Unshared!_ControlType,shared(_ControlType)),isWeak); -
-   // ... -
- } -
-
-
-

1. if parameter threadLocal is true then result type is thread local SharedPtr (!is(ControlType == shared)). -

- -

2. if parameter threadLocal is false then result type is not thread local SharedPtr (is(ControlType == shared)). -

-
- - -
- - - - - - - - - - - - - -
Authors -

github.com/submada/basic_string, Adam Búš -

- -
Copyright - -
License -

www.boost.org/LICENSE_1_0.txt, Boost License 1.0. -

- -
-

Generated using the DDOX documentation generator

-
-
- - \ No newline at end of file diff --git a/docs/autoptr/shared_ptr/SharedPtr.html b/docs/autoptr/shared_ptr/SharedPtr.html index ef6ac0d..590dfd1 100644 --- a/docs/autoptr/shared_ptr/SharedPtr.html +++ b/docs/autoptr/shared_ptr/SharedPtr.html @@ -519,15 +519,6 @@

SharedPtr - multiple declarations

Stores the non shared SharedPtr parameter ptr to this. - - - - - - ThreadLocal - - - Return thread local SharedPtr if specified: diff --git a/docs/autoptr/shared_ptr/SharedPtr.load.html b/docs/autoptr/shared_ptr/SharedPtr.load.html index e8187ab..02e91c0 100644 --- a/docs/autoptr/shared_ptr/SharedPtr.load.html +++ b/docs/autoptr/shared_ptr/SharedPtr.load.html @@ -67,7 +67,7 @@

Function SharedPtr.load

Returns the non

Examples

-
shared SharedPtr!(long).ThreadLocal!false x = SharedPtr!(shared long).ThreadLocal!false.make(123);
+
shared SharedPtr!(long) x = SharedPtr!(shared long).make(123);
 
 {
 	SharedPtr!(shared long) y = x.load();
diff --git a/docs/autoptr/shared_ptr/SharedPtr.opAssign.html b/docs/autoptr/shared_ptr/SharedPtr.opAssign.html
index acbdb32..6469f42 100644
--- a/docs/autoptr/shared_ptr/SharedPtr.opAssign.html
+++ b/docs/autoptr/shared_ptr/SharedPtr.opAssign.html
@@ -109,7 +109,7 @@ 

SharedPtr.opAssign - multiple declarations

} { -
shared SharedPtr!(long).ThreadLocal!false x = SharedPtr!(shared long).ThreadLocal!false.make(1); + shared SharedPtr!(long) x = SharedPtr!(shared long).make(1); assert(x.useCount == 1); x = null; diff --git a/docs/autoptr/shared_ptr/SharedPtr.this.html b/docs/autoptr/shared_ptr/SharedPtr.this.html index 752ef0f..6c36a82 100644 --- a/docs/autoptr/shared_ptr/SharedPtr.this.html +++ b/docs/autoptr/shared_ptr/SharedPtr.this.html @@ -197,13 +197,13 @@

Function SharedPtr.this

Constructs a import core.lifetime : move; - auto u = UniquePtr!(long, SharedControlType).make(123); + auto u = UniquePtr!(long, SharedControlBlock).make(123); SharedPtr!long s = move(u); //rvalue copy ctor assert(s != null); assert(s.useCount == 1); - SharedPtr!long s2 = UniquePtr!(long, SharedControlType).init; + SharedPtr!long s2 = UniquePtr!(long, SharedControlBlock).init; assert(s2 == null); } diff --git a/docs/autoptr/shared_ptr/SharedPtr.weak.html b/docs/autoptr/shared_ptr/SharedPtr.weak.html index 6a91975..1bee185 100644 --- a/docs/autoptr/shared_ptr/SharedPtr.weak.html +++ b/docs/autoptr/shared_ptr/SharedPtr.weak.html @@ -69,10 +69,12 @@

Function SharedPtr.weak

Returns weak pointer (must have weak counter)

Examples

SharedPtr!long x = SharedPtr!long.make(123);
 assert(x.useCount == 1);
+
 auto wx = x.weak;   //weak pointer
 assert(wx.expired == false);
 assert(wx.lock.get == 123);
 assert(wx.useCount == 1);
+
 x = null;
 assert(wx.expired == true);
 assert(wx.useCount == 0);
diff --git a/docs/file_hashes.json b/docs/file_hashes.json index 7d3473f..fe4047c 100644 --- a/docs/file_hashes.json +++ b/docs/file_hashes.json @@ -1 +1 @@ -{"autoptr/rc_ptr/RcPtr.WeakType.html":"C24529343F0148A5B700781085B3DEF1","autoptr/common/apply.html":"23F5FE13F21B25F2684108463A3EE063","autoptr/intrusive_ptr/IntrusivePtr.opAssign.html":"1D522D07ACD38D651796487D39E9C12C","autoptr/intrusive_ptr/IntrusivePtr.compareExchangeWeak.html":"8802A5E4C0C4C37603DBDCC241EC481D","autoptr/unique_ptr.html":"129C1087A5C493C20A5E92DE7D76576B","autoptr/shared_ptr/sharedPtr.html":"B5144CE1757C6D301C1BBBA538D2AE8F","autoptr/rc_ptr/RcPtr.proxySwap.html":"04EB8B041A332BD84CE2AC5D04280E81","autoptr/common/isControlBlock.html":"941E925C56728ECCD5640F12FF790687","autoptr/intrusive_ptr/IntrusivePtr.ElementReferenceType.html":"F4F6D34792C1F1172A0004619649DAC7","autoptr/intrusive_ptr/IntrusivePtr.load.html":"254F249E763A2317BA2584CB363A697B","autoptr/shared_ptr/SharedPtr.weak.html":"4AB0D8B2B18906C3D6E7839CFC6DDAE1","autoptr/shared_ptr/SharedPtr.compareExchange.html":"4E61FD18DE817FF98588B3A73CD9745E","autoptr/shared_ptr/SharedPtr.weakCount.html":"F1BF784E0FA7B2CE90792EC10CEB7389","autoptr/common/DestructorType.html":"5F6EB5CCA2172B9275F560ECE8FE1CF6","autoptr/common/DefaultAllocator.html":"D2C90614EC519FA9733C5630FBBCE03F","autoptr/shared_ptr/SharedPtr.opEquals.html":"E3FD0FA9C6FEFAA626555BB6490C1935","autoptr/shared_ptr/SharedPtr.opUnary.html":"76E1FE4BC7EFEBF4845FB2882C9F401E","autoptr/shared_ptr/SharedPtr.ControlType.html":"C86AE1E2DC18A79A6CA148DCC577D9C8","autoptr/common/ControlBlock.html":"8C224DCD4D04BF3FF1E870FA972F60CD","autoptr/intrusive_ptr/IntrusivePtr.weak.html":"B3C57BCE95CAAD03008499DD8BBC133A","autoptr/intrusive_ptr/IntrusivePtr.expired.html":"825BB29B479E4B72825F9D72B152E31C","autoptr/rc_ptr.html":"EB4A471FCEB218314CE7D57A156E775B","autoptr/rc_ptr/RcPtr.make.html":"1566F81AB87435F024E07E43A717FA9B","autoptr/rc_ptr/RcPtr.alloc.html":"8F0DF159987A2F834B5985632A41D2D8","autoptr/common/ControlBlock.Shared.html":"98B1BADB0A655B1296E22975CA1BA1AF","autoptr/shared_ptr/SharedPtr.isLockFree.html":"F558630FA47B83EECED6DEA1B67DE83D","autoptr/rc_ptr/RcPtr.element.html":"CD304721B272F04B557A75CE9C42ED4A","autoptr/intrusive_ptr.html":"FFA66D30D942C875884957D5E34813CE","autoptr/rc_ptr/RcPtr.weakCount.html":"6422B46BBD5C7D22360CFCEAE4B69DCE","autoptr/common/UniqueControlType.html":"5369DA764D671BF19C08467DF866C17F","autoptr/unique_ptr/first.html":"D8B68659927C1E93D717BBE14AE63A47","autoptr/rc_ptr/RcPtr.lock.html":"09D53243C202F5B4FE47E400F50FD2DC","autoptr/intrusive_ptr/IntrusivePtr.exchange.html":"FDC1EF6448CFBEC98E399401E94733CC","autoptr/shared_ptr/isSharedPtr.html":"C346B40817112C4FEE1A6588CEB9790F","autoptr/intrusive_ptr/IntrusivePtr.weakCount.html":"6B5C9895DEA16D6E73ECA38F5A7BA197","autoptr/rc_ptr/RcPtr.exchange.html":"238A89161B6C5E49F6FF92722074047A","autoptr/shared_ptr/SharedPtr.load.html":"994BBBA29295F7447447B5EFB3C92D36","autoptr/rc_ptr/RcPtr.useCount.html":"B3D325A71A10798957C23448BFD21783","autoptr/shared_ptr/SharedPtr.opCmp.html":"1644EAE38691B4B8CA3FD34EDE781D4B","autoptr/rc_ptr/RcPtr.store.html":"20B57BD6AD1413F201C96F4601AA3DBB","autoptr/rc_ptr/RcPtr.expired.html":"0D5D523703799EFAC9587579BFF35492","autoptr/rc_ptr/RcPtr.get.html":"9F6BCF829C91487CC9E70E86010F32BF","autoptr/rc_ptr/dynCast.html":"6D58B07CDDF42A135148B0D218C88E3D","autoptr/shared_ptr/SharedPtr.ThreadLocal.html":"40D44C6F82778D2624C9A777A4C3831A","autoptr/intrusive_ptr/IntrusivePtr.isWeak.html":"AEB94BCF0C4E36CAE517B709C3C4978D","autoptr/shared_ptr/SharedPtr.useCount.html":"A9BD70D3F7B6D118D61C2B4F0A5FA1B5","autoptr/rc_ptr/RcPtr.opAssign.html":"33D545BBF3A977B3190616FF6EBF27E2","autoptr/rc_ptr/first.html":"636E2EFF4C61FF7AC79975E7EFF33C71","autoptr/common/isIntrusive.html":"28481356CAD64963F5361F69D3F9FDFC","autoptr/intrusive_ptr/IntrusivePtr.opCmp.html":"A3BABAA203CDE4061748E6268E24E7CE","sitemap.xml":"F2C16D31ACE0433A075ECF1E392566A8","index.html":"4F1738CB8CAB467957B7905616E6B1CC","autoptr/rc_ptr/RcPtr.length.html":"83531915BDF6622FDEA09EEAB80B66FD","autoptr/unique_ptr/dynCast.html":"ED85BA56251171123FCA83473B091867","autoptr/rc_ptr/RcPtr.load.html":"7C9961DB7E927ECAB455EC60D0331581","autoptr/rc_ptr/dynCastMove.html":"127823588C7119EB57EC4C39CA4F3DA8","autoptr/common.html":"0183D0EB3B053ACA10F0E9FD1BBB7B70","autoptr/intrusive_ptr/IntrusivePtr.lock.html":"A1F83D0FD029F4A5523D9F337C58DA0C","autoptr/rc_ptr/RcPtr.opCastImpl.html":"064DD72B8A74904070B72DEE3D342DAD","autoptr/common/ControlBlock.this.html":"C36BE150B7C80E8FBAFDE43A952090AB","autoptr/rc_ptr/RcPtr.compareExchangeWeak.html":"1529199362C834FDAFB857C2C4C692FD","autoptr/intrusive_ptr/IntrusivePtr.DestructorType.html":"66014EBC9ECF1B3B132FE50CB6597B86","autoptr/shared_ptr/SharedPtr.make.html":"269F82695B164A448E46316CD28C0456","autoptr/rc_ptr/RcPtr.DestructorType.html":"0C14427E3E0EC38099CD25B1F5450DF9","autoptr/intrusive_ptr/isIntrusivePtr.html":"113DCB969DB435C3B4774DC88EEEFF31","autoptr/shared_ptr/SharedPtr.element.html":"ED511876974310990D28A64D3F55B3B1","autoptr/intrusive_ptr/intrusivePtr.html":"89CC69B1498D64A37CEF72E1A2D52063","autoptr/intrusive_ptr/IntrusivePtr.proxySwap.html":"A764F51BDEAB514FC8B052993BF16F60","autoptr/shared_ptr/SharedPtr.html":"980564DBBB8F994BC2D27FCE13014163","autoptr/rc_ptr/RcPtr.toHash.html":"B68775164151D2B4F4655C8A45944791","autoptr/intrusive_ptr/IntrusivePtr.alloc.html":"67E8C0301086B77E0AF4F5B039C93EBE","autoptr/intrusive_ptr/IntrusivePtr.this.html":"622E672DAA7D96A4A87B540814A1DC3B","autoptr/rc_ptr/RcPtr.this.html":"03C26617435BB10338DD1149F6CDEE49","autoptr/shared_ptr/SharedPtr.this.html":"5E43A7C7C3D531B213C3CC4AC77D6ACE","autoptr/shared_ptr/SharedPtr.expired.html":"0259A5A314894FBC13E972BA1BDA1F84","autoptr/common/Evoid.html":"25EFBC41C8E0A6DDF80864191A983C73","autoptr/shared_ptr/SharedPtr.alloc.html":"0EA0D8C9EC8A10CEB97CC56E0F30EC10","autoptr/shared_ptr/SharedPtr.exchange.html":"F591F678317A2DEC4FFE69D3F28D9987","autoptr/unique_ptr/UniquePtr.html":"D5686C3D9E4F35B963A16C5F034D4565","autoptr/shared_ptr/SharedPtr.ElementReferenceType.html":"EB2002D892A0F555EE9F80E5E45D9D18","autoptr/rc_ptr/RcPtr.SharedType.html":"6C46BB31B13D5DA6F6EEA7EE2B5F644A","autoptr/rc_ptr/RcPtr.ElementReferenceType.html":"D2B2B88C3569DC0C1FA23A4A8013F761","autoptr/shared_ptr/SharedPtr.DestructorType.html":"12C8D0FDFAE2E6B914CF92E07148E6FF","autoptr/rc_ptr/RcPtr.opEquals.html":"397EBADECD9031F3B91BA83FD4329B9F","autoptr/common/ControlBlock.Weak.html":"A31C28DBC360FBDBA5FC08E7057EDC94","autoptr/common/DestructorAllocatorType.html":"74AED9A9732F51B1E0D67D352419C258","autoptr/intrusive_ptr/IntrusivePtr.ElementType.html":"22B761DCF1447B8CE97ADD046ED86D80","autoptr/common/Forward.html":"0C63BE35CCF0BC68AD4A0AC21FFD5A82","autoptr/shared_ptr/SharedPtr.WeakType.html":"470375E0B7B224DC0F1B75CFF373B413","autoptr/shared_ptr/dynCast.html":"C3A8C17FBBDEFB5B0C65FAF88F35756B","autoptr/shared_ptr/SharedPtr.SharedType.html":"7BF518B3A002A4BDCD280FBB2B0D542D","autoptr/intrusive_ptr/IntrusivePtr.opEquals.html":"E74FC9771F7890824302BBE229288D34","autoptr/intrusive_ptr/IntrusivePtr.compareExchangeStrong.html":"A57C4A3F294F24423BF2B4DF08161CEF","autoptr/rc_ptr/RcPtr.ElementType.html":"002896AC72E327CCF37F4E305D47CF6A","autoptr/common/ControlBlock.hasWeakCounter.html":"F430E4D39DE60C1204AE417595568424","autoptr/rc_ptr/RcPtr.opCmp.html":"18CE10DAAC4637DACDA9CBF885FBE6A8","autoptr/intrusive_ptr/IntrusivePtr.sharedControl.html":"0DFDFA07E71DDBD880015549C8F8CBAB","autoptr/shared_ptr/SharedPtr.store.html":"A85DEEAC1C4B48F84AAD7AA1756DF0B0","autoptr/shared_ptr/SharedPtr.opAssign.html":"800DE8374ECD98D15AC65962462F4398","autoptr/common/isDestructorType.html":"6FDC7F274925236E658FDF6773AA6076","autoptr/common/ControlBlock.hasSharedCounter.html":"4221A5827E3A34B8FC50F38320C08D73","autoptr/common/IntrusiveControlBlock.html":"48097A50E2F4010DC1E380B3B45F0A09","autoptr/intrusive_ptr/IntrusivePtr.html":"A44D063A3287D5CCE88F5A1C3D5C1399","autoptr/intrusive_ptr/IntrusivePtr.SharedType.html":"CFC8109954C7CF12C2A58175A207A797","autoptr/intrusive_ptr/IntrusivePtr.element.html":"D3AE05B925211EE6BE776D0DFAF2709B","autoptr/shared_ptr/SharedPtr.opCastImpl.html":"FB1470ED6B015519E45589360EB2A3BE","autoptr/shared_ptr/SharedPtr.ElementType.html":"EF12BB11F4ECCC2AD4246493E1D4362C","autoptr/rc_ptr/RcPtr.isLockFree.html":"EC28E31F930277048DFCF83A4B11B755","autoptr/shared_ptr.html":"63828F07E959C0861A0BF54AEB1E7828","autoptr/intrusive_ptr/IntrusivePtr.isLockFree.html":"3530966651336FD368CB0E2485ACD297","autoptr.html":"D07A44B29CB9AF31AAD4586DB8570177","autoptr/intrusive_ptr/dynCastMove.html":"E7AA12A2804A48275F96470F5FB90FDC","autoptr/intrusive_ptr/IntrusivePtr.opCastImpl.html":"49BEAE8668D722975B6D92E03468CECA","autoptr/intrusive_ptr/dynCast.html":"454B3277ABCD120E447F731381EB6E53","autoptr/common/ControlBlock.opAssign.html":"D0A37F9F483B79142F3441E21F97B4D3","autoptr/shared_ptr/dynCastMove.html":"BC998CD598F13A6D26387CB398C932AC","autoptr/common/isSmartPtr.html":"E7E01B2C08EC813FA67182B6EB134126","autoptr/common/DestructorDeleterType.html":"80192E5612EFF97B116216468107DE32","autoptr/intrusive_ptr/IntrusivePtr.store.html":"5E869B0B1624F1A8F7B6C6F0EA77C162","autoptr/shared_ptr/SharedPtr.compareExchangeStrong.html":"F6687E1E4F34E987F576B7B2162DF1E3","autoptr/intrusive_ptr/IntrusivePtr.ControlType.html":"7133768870304E8F68869D152A6606EB","autoptr/shared_ptr/SharedPtr.compareExchangeWeak.html":"63D1651E24FD5E52B801ADF46F0C51AB","autoptr/shared_ptr/first.html":"9BFF978F1E270C50ED207FD4E21D012C","autoptr/shared_ptr/SharedPtr.toHash.html":"8ECECFC1676E59C05A672036FAE99789","autoptr/intrusive_ptr/IntrusivePtr.useCount.html":"A780E835B9E8F1E1F9F6BBEDDCE585DD","autoptr/shared_ptr/SharedPtr.length.html":"B36BEE822933023D74B2FB1EB6E62D1F","autoptr/intrusive_ptr/share.html":"9092A46DEB079CA98904A3DF5986D6D6","autoptr/rc_ptr/isRcPtr.html":"435EBA2E300EE373A6D0596F0FEF22C0","autoptr/intrusive_ptr/IntrusivePtr.toHash.html":"5C7828D860BC673E526B2DF7294EB119","autoptr/intrusive_ptr/IntrusivePtr.WeakType.html":"0FB71B8F813A985DAA425AD306559F2D","autoptr/common/SharedControlType.html":"6C94622673BB7F184E046124C352BA99","autoptr/rc_ptr/RcPtr.ControlType.html":"78EDEF6D8AC216B1D7E2B3723574B850","autoptr/shared_ptr/SharedPtr.proxySwap.html":"9C78EAB06BDA14528A435674FA31F54A","autoptr/rc_ptr/RcPtr.html":"10D97C54B0554D83BAF0DE6BF72F0EE0","autoptr/rc_ptr/share.html":"7108651F7D0299225C5CB3BFE7B98DA1","autoptr/intrusive_ptr/IntrusivePtr.opUnary.html":"BD2B07B0474241960BC05676808AE9E9","autoptr/intrusive_ptr/IntrusivePtr.get.html":"A3C6FDCDF36386D652384652CAA557BB","autoptr/shared_ptr/WeakPtr.html":"76CCC9CC37B4DEB3FF5684BFE2585A25","symbols.js":"7EA77126E84304853F6E77F5B57146D6","autoptr/shared_ptr/share.html":"762AFFCDFDD53D7D83237E84BCA95156","autoptr/rc_ptr/RcPtr.weak.html":"985E44DD9EABA533933E0369F34C9FDD","autoptr/unique_ptr/share.html":"CA71ECAB08DF403A4B793AB81D06BC2E","autoptr/shared_ptr/SharedPtr.isWeak.html":"08CFE4A8DE7F7CBAFB02D93F35A81683","autoptr/common/ControlTypeDeduction.html":"2622B3AA941779D880D0430A292A63A7","autoptr/rc_ptr/RcPtr.opUnary.html":"C64D0F2833E64979455B7CFD2621F4BD","autoptr/unique_ptr/dynCastMove.html":"BA21DDEC7094A55D54FB856EE34362ED","autoptr/shared_ptr/SharedPtr.get.html":"D0D0F63DEF525C435EDFD86CE781F5F3","autoptr/intrusive_ptr/IntrusivePtr.make.html":"C576B785C4443E2AE9451178FFE02A40","autoptr/shared_ptr/SharedPtr.lock.html":"30E19E4EC9BF71BD50EE30435C7502FD","autoptr/rc_ptr/RcPtr.isWeak.html":"DC462BFDBB4FBDBE5525FA8A0DE54F9A","autoptr/rc_ptr/RcPtr.compareExchangeStrong.html":"670DF0A0F9E07FF582AB88F10AECEC36"} \ No newline at end of file +{"autoptr/rc_ptr/RcPtr.WeakType.html":"C24529343F0148A5B700781085B3DEF1","autoptr/common/apply.html":"23F5FE13F21B25F2684108463A3EE063","autoptr/intrusive_ptr/IntrusivePtr.opAssign.html":"1D522D07ACD38D651796487D39E9C12C","autoptr/intrusive_ptr/IntrusivePtr.compareExchangeWeak.html":"8802A5E4C0C4C37603DBDCC241EC481D","autoptr/unique_ptr.html":"129C1087A5C493C20A5E92DE7D76576B","autoptr/shared_ptr/sharedPtr.html":"B5144CE1757C6D301C1BBBA538D2AE8F","autoptr/common/ControlBlockDeduction.html":"FB52090811112C7F726161C76EFC14E0","autoptr/rc_ptr/RcPtr.proxySwap.html":"04EB8B041A332BD84CE2AC5D04280E81","autoptr/common/isControlBlock.html":"941E925C56728ECCD5640F12FF790687","autoptr/intrusive_ptr/IntrusivePtr.ElementReferenceType.html":"F4F6D34792C1F1172A0004619649DAC7","autoptr/intrusive_ptr/IntrusivePtr.load.html":"254F249E763A2317BA2584CB363A697B","autoptr/shared_ptr/SharedPtr.weak.html":"DA2664469DD98786358565DD94910FE7","autoptr/shared_ptr/SharedPtr.compareExchange.html":"4E61FD18DE817FF98588B3A73CD9745E","autoptr/shared_ptr/SharedPtr.weakCount.html":"F1BF784E0FA7B2CE90792EC10CEB7389","autoptr/common/DestructorType.html":"5F6EB5CCA2172B9275F560ECE8FE1CF6","autoptr/common/DefaultAllocator.html":"D2C90614EC519FA9733C5630FBBCE03F","autoptr/shared_ptr/SharedPtr.opEquals.html":"E3FD0FA9C6FEFAA626555BB6490C1935","autoptr/shared_ptr/SharedPtr.opUnary.html":"76E1FE4BC7EFEBF4845FB2882C9F401E","autoptr/shared_ptr/SharedPtr.ControlType.html":"C86AE1E2DC18A79A6CA148DCC577D9C8","autoptr/common/ControlBlock.html":"8C224DCD4D04BF3FF1E870FA972F60CD","autoptr/intrusive_ptr/IntrusivePtr.weak.html":"56677BB47815A14B571E4BAB6CCDC56A","autoptr/intrusive_ptr/IntrusivePtr.expired.html":"825BB29B479E4B72825F9D72B152E31C","autoptr/rc_ptr.html":"EB4A471FCEB218314CE7D57A156E775B","autoptr/rc_ptr/RcPtr.make.html":"1566F81AB87435F024E07E43A717FA9B","autoptr/rc_ptr/RcPtr.alloc.html":"8F0DF159987A2F834B5985632A41D2D8","autoptr/common/ControlBlock.Shared.html":"98B1BADB0A655B1296E22975CA1BA1AF","autoptr/shared_ptr/SharedPtr.isLockFree.html":"F558630FA47B83EECED6DEA1B67DE83D","autoptr/intrusive_ptr.html":"FFA66D30D942C875884957D5E34813CE","autoptr/rc_ptr/RcPtr.weakCount.html":"6422B46BBD5C7D22360CFCEAE4B69DCE","autoptr/rc_ptr/RcPtr.element.html":"CD304721B272F04B557A75CE9C42ED4A","autoptr/unique_ptr/first.html":"D8B68659927C1E93D717BBE14AE63A47","autoptr/rc_ptr/RcPtr.lock.html":"09D53243C202F5B4FE47E400F50FD2DC","autoptr/intrusive_ptr/IntrusivePtr.exchange.html":"FDC1EF6448CFBEC98E399401E94733CC","autoptr/shared_ptr/isSharedPtr.html":"C346B40817112C4FEE1A6588CEB9790F","autoptr/intrusive_ptr/IntrusivePtr.weakCount.html":"6B5C9895DEA16D6E73ECA38F5A7BA197","autoptr/rc_ptr/RcPtr.exchange.html":"238A89161B6C5E49F6FF92722074047A","autoptr/shared_ptr/SharedPtr.load.html":"87149084DF182AD32A2BC6DD0C501C81","autoptr/rc_ptr/RcPtr.useCount.html":"B3D325A71A10798957C23448BFD21783","autoptr/shared_ptr/SharedPtr.opCmp.html":"1644EAE38691B4B8CA3FD34EDE781D4B","autoptr/rc_ptr/RcPtr.store.html":"20B57BD6AD1413F201C96F4601AA3DBB","autoptr/rc_ptr/RcPtr.expired.html":"0D5D523703799EFAC9587579BFF35492","autoptr/rc_ptr/RcPtr.get.html":"9F6BCF829C91487CC9E70E86010F32BF","autoptr/rc_ptr/dynCast.html":"6D58B07CDDF42A135148B0D218C88E3D","autoptr/intrusive_ptr/IntrusivePtr.isWeak.html":"AEB94BCF0C4E36CAE517B709C3C4978D","autoptr/shared_ptr/SharedPtr.useCount.html":"A9BD70D3F7B6D118D61C2B4F0A5FA1B5","autoptr/rc_ptr/RcPtr.opAssign.html":"33D545BBF3A977B3190616FF6EBF27E2","autoptr/rc_ptr/first.html":"636E2EFF4C61FF7AC79975E7EFF33C71","autoptr/common/isIntrusive.html":"28481356CAD64963F5361F69D3F9FDFC","autoptr/intrusive_ptr/IntrusivePtr.opCmp.html":"A3BABAA203CDE4061748E6268E24E7CE","sitemap.xml":"0A01989CF919D614F0F6A25DBFB5EDD6","index.html":"4F1738CB8CAB467957B7905616E6B1CC","autoptr/rc_ptr/RcPtr.length.html":"83531915BDF6622FDEA09EEAB80B66FD","autoptr/unique_ptr/dynCast.html":"ED85BA56251171123FCA83473B091867","autoptr/rc_ptr/RcPtr.load.html":"7C9961DB7E927ECAB455EC60D0331581","autoptr/rc_ptr/dynCastMove.html":"127823588C7119EB57EC4C39CA4F3DA8","autoptr/common.html":"7320E733E0AC46F0BA617487162D2582","autoptr/intrusive_ptr/IntrusivePtr.lock.html":"A1F83D0FD029F4A5523D9F337C58DA0C","autoptr/rc_ptr/RcPtr.opCastImpl.html":"064DD72B8A74904070B72DEE3D342DAD","autoptr/common/ControlBlock.this.html":"C36BE150B7C80E8FBAFDE43A952090AB","autoptr/rc_ptr/RcPtr.compareExchangeWeak.html":"1529199362C834FDAFB857C2C4C692FD","autoptr/intrusive_ptr/IntrusivePtr.DestructorType.html":"66014EBC9ECF1B3B132FE50CB6597B86","autoptr/shared_ptr/SharedPtr.make.html":"269F82695B164A448E46316CD28C0456","autoptr/rc_ptr/RcPtr.DestructorType.html":"0C14427E3E0EC38099CD25B1F5450DF9","autoptr/intrusive_ptr/isIntrusivePtr.html":"113DCB969DB435C3B4774DC88EEEFF31","autoptr/shared_ptr/SharedPtr.element.html":"ED511876974310990D28A64D3F55B3B1","autoptr/intrusive_ptr/intrusivePtr.html":"89CC69B1498D64A37CEF72E1A2D52063","autoptr/intrusive_ptr/IntrusivePtr.proxySwap.html":"A764F51BDEAB514FC8B052993BF16F60","autoptr/shared_ptr/SharedPtr.html":"9EFE0E89C9E792D28740E4B0A0E9AFA0","autoptr/common/SharedControlBlock.html":"7940847FC09A7DEED3B618E2451B5F12","autoptr/rc_ptr/RcPtr.toHash.html":"B68775164151D2B4F4655C8A45944791","autoptr/intrusive_ptr/IntrusivePtr.alloc.html":"67E8C0301086B77E0AF4F5B039C93EBE","autoptr/intrusive_ptr/IntrusivePtr.this.html":"622E672DAA7D96A4A87B540814A1DC3B","autoptr/rc_ptr/RcPtr.this.html":"36507F41901EF2FCBDA280DF91EB4F6D","autoptr/shared_ptr/SharedPtr.this.html":"78E50FFB54162353C776F952DDDA6755","autoptr/shared_ptr/SharedPtr.expired.html":"0259A5A314894FBC13E972BA1BDA1F84","autoptr/common/Evoid.html":"25EFBC41C8E0A6DDF80864191A983C73","autoptr/shared_ptr/SharedPtr.alloc.html":"0EA0D8C9EC8A10CEB97CC56E0F30EC10","autoptr/shared_ptr/SharedPtr.exchange.html":"F591F678317A2DEC4FFE69D3F28D9987","autoptr/unique_ptr/UniquePtr.html":"D5686C3D9E4F35B963A16C5F034D4565","autoptr/shared_ptr/SharedPtr.ElementReferenceType.html":"EB2002D892A0F555EE9F80E5E45D9D18","autoptr/rc_ptr/RcPtr.SharedType.html":"6C46BB31B13D5DA6F6EEA7EE2B5F644A","autoptr/rc_ptr/RcPtr.ElementReferenceType.html":"D2B2B88C3569DC0C1FA23A4A8013F761","autoptr/shared_ptr/SharedPtr.DestructorType.html":"12C8D0FDFAE2E6B914CF92E07148E6FF","autoptr/rc_ptr/RcPtr.opEquals.html":"397EBADECD9031F3B91BA83FD4329B9F","autoptr/common/ControlBlock.Weak.html":"A31C28DBC360FBDBA5FC08E7057EDC94","autoptr/common/DestructorAllocatorType.html":"74AED9A9732F51B1E0D67D352419C258","autoptr/intrusive_ptr/IntrusivePtr.ElementType.html":"22B761DCF1447B8CE97ADD046ED86D80","autoptr/common/Forward.html":"0C63BE35CCF0BC68AD4A0AC21FFD5A82","autoptr/shared_ptr/SharedPtr.WeakType.html":"470375E0B7B224DC0F1B75CFF373B413","autoptr/shared_ptr/dynCast.html":"C3A8C17FBBDEFB5B0C65FAF88F35756B","autoptr/shared_ptr/SharedPtr.SharedType.html":"7BF518B3A002A4BDCD280FBB2B0D542D","autoptr/intrusive_ptr/IntrusivePtr.opEquals.html":"E74FC9771F7890824302BBE229288D34","autoptr/intrusive_ptr/IntrusivePtr.compareExchangeStrong.html":"A57C4A3F294F24423BF2B4DF08161CEF","autoptr/rc_ptr/RcPtr.ElementType.html":"002896AC72E327CCF37F4E305D47CF6A","autoptr/common/ControlBlock.hasWeakCounter.html":"F430E4D39DE60C1204AE417595568424","autoptr/rc_ptr/RcPtr.opCmp.html":"18CE10DAAC4637DACDA9CBF885FBE6A8","autoptr/intrusive_ptr/IntrusivePtr.sharedControl.html":"0DFDFA07E71DDBD880015549C8F8CBAB","autoptr/shared_ptr/SharedPtr.store.html":"A85DEEAC1C4B48F84AAD7AA1756DF0B0","autoptr/shared_ptr/SharedPtr.opAssign.html":"836331D6B43DF6E64C67DE2913A7E681","autoptr/common/isDestructorType.html":"6FDC7F274925236E658FDF6773AA6076","autoptr/common/ControlBlock.hasSharedCounter.html":"4221A5827E3A34B8FC50F38320C08D73","autoptr/common/IntrusiveControlBlock.html":"48097A50E2F4010DC1E380B3B45F0A09","autoptr/intrusive_ptr/IntrusivePtr.html":"A44D063A3287D5CCE88F5A1C3D5C1399","autoptr/intrusive_ptr/IntrusivePtr.SharedType.html":"CFC8109954C7CF12C2A58175A207A797","autoptr/intrusive_ptr/IntrusivePtr.element.html":"D3AE05B925211EE6BE776D0DFAF2709B","autoptr/shared_ptr/SharedPtr.opCastImpl.html":"FB1470ED6B015519E45589360EB2A3BE","autoptr/shared_ptr/SharedPtr.ElementType.html":"EF12BB11F4ECCC2AD4246493E1D4362C","autoptr/rc_ptr/RcPtr.isLockFree.html":"EC28E31F930277048DFCF83A4B11B755","autoptr/common/UniqueControlBlock.html":"703BAE5FAA30B9B714D56DD304AA2689","autoptr/shared_ptr.html":"63828F07E959C0861A0BF54AEB1E7828","autoptr/intrusive_ptr/IntrusivePtr.isLockFree.html":"3530966651336FD368CB0E2485ACD297","autoptr.html":"D07A44B29CB9AF31AAD4586DB8570177","autoptr/intrusive_ptr/dynCastMove.html":"E7AA12A2804A48275F96470F5FB90FDC","autoptr/intrusive_ptr/IntrusivePtr.opCastImpl.html":"49BEAE8668D722975B6D92E03468CECA","autoptr/intrusive_ptr/dynCast.html":"454B3277ABCD120E447F731381EB6E53","autoptr/common/ControlBlock.opAssign.html":"D0A37F9F483B79142F3441E21F97B4D3","autoptr/shared_ptr/dynCastMove.html":"BC998CD598F13A6D26387CB398C932AC","autoptr/common/isSmartPtr.html":"E7E01B2C08EC813FA67182B6EB134126","autoptr/common/DestructorDeleterType.html":"80192E5612EFF97B116216468107DE32","autoptr/intrusive_ptr/IntrusivePtr.store.html":"5E869B0B1624F1A8F7B6C6F0EA77C162","autoptr/shared_ptr/SharedPtr.compareExchangeStrong.html":"F6687E1E4F34E987F576B7B2162DF1E3","autoptr/intrusive_ptr/IntrusivePtr.ControlType.html":"7133768870304E8F68869D152A6606EB","autoptr/shared_ptr/SharedPtr.compareExchangeWeak.html":"63D1651E24FD5E52B801ADF46F0C51AB","autoptr/shared_ptr/first.html":"9BFF978F1E270C50ED207FD4E21D012C","autoptr/shared_ptr/SharedPtr.toHash.html":"8ECECFC1676E59C05A672036FAE99789","autoptr/intrusive_ptr/IntrusivePtr.useCount.html":"A780E835B9E8F1E1F9F6BBEDDCE585DD","autoptr/shared_ptr/SharedPtr.length.html":"B36BEE822933023D74B2FB1EB6E62D1F","autoptr/intrusive_ptr/share.html":"9092A46DEB079CA98904A3DF5986D6D6","autoptr/rc_ptr/isRcPtr.html":"435EBA2E300EE373A6D0596F0FEF22C0","autoptr/intrusive_ptr/IntrusivePtr.toHash.html":"5C7828D860BC673E526B2DF7294EB119","autoptr/intrusive_ptr/IntrusivePtr.WeakType.html":"0FB71B8F813A985DAA425AD306559F2D","autoptr/rc_ptr/RcPtr.ControlType.html":"78EDEF6D8AC216B1D7E2B3723574B850","autoptr/shared_ptr/SharedPtr.proxySwap.html":"9C78EAB06BDA14528A435674FA31F54A","autoptr/rc_ptr/RcPtr.html":"10D97C54B0554D83BAF0DE6BF72F0EE0","autoptr/rc_ptr/share.html":"7108651F7D0299225C5CB3BFE7B98DA1","autoptr/intrusive_ptr/IntrusivePtr.opUnary.html":"BD2B07B0474241960BC05676808AE9E9","autoptr/intrusive_ptr/IntrusivePtr.get.html":"A3C6FDCDF36386D652384652CAA557BB","autoptr/shared_ptr/WeakPtr.html":"76CCC9CC37B4DEB3FF5684BFE2585A25","symbols.js":"95BE34E31F10DC61634DC4470D2D5F9C","autoptr/shared_ptr/share.html":"762AFFCDFDD53D7D83237E84BCA95156","autoptr/rc_ptr/RcPtr.weak.html":"553ACB845A0B6745AFCA41237C02C0FF","autoptr/unique_ptr/share.html":"CA71ECAB08DF403A4B793AB81D06BC2E","autoptr/shared_ptr/SharedPtr.isWeak.html":"08CFE4A8DE7F7CBAFB02D93F35A81683","autoptr/rc_ptr/RcPtr.opUnary.html":"C64D0F2833E64979455B7CFD2621F4BD","autoptr/shared_ptr/SharedPtr.get.html":"D0D0F63DEF525C435EDFD86CE781F5F3","autoptr/unique_ptr/dynCastMove.html":"BA21DDEC7094A55D54FB856EE34362ED","autoptr/intrusive_ptr/IntrusivePtr.make.html":"C576B785C4443E2AE9451178FFE02A40","autoptr/shared_ptr/SharedPtr.lock.html":"30E19E4EC9BF71BD50EE30435C7502FD","autoptr/rc_ptr/RcPtr.isWeak.html":"DC462BFDBB4FBDBE5525FA8A0DE54F9A","autoptr/rc_ptr/RcPtr.compareExchangeStrong.html":"670DF0A0F9E07FF582AB88F10AECEC36"} \ No newline at end of file diff --git a/docs/sitemap.xml b/docs/sitemap.xml index 2e033d8..bfb73c8 100644 --- a/docs/sitemap.xml +++ b/docs/sitemap.xml @@ -10,7 +10,7 @@ http://127.0.0.1/autoptr/common/ControlBlock.Shared.html http://127.0.0.1/autoptr/common/ControlBlock.this.html http://127.0.0.1/autoptr/common/ControlBlock.Weak.html -http://127.0.0.1/autoptr/common/ControlTypeDeduction.html +http://127.0.0.1/autoptr/common/ControlBlockDeduction.html http://127.0.0.1/autoptr/common/DefaultAllocator.html http://127.0.0.1/autoptr/common/DestructorAllocatorType.html http://127.0.0.1/autoptr/common/DestructorDeleterType.html @@ -22,8 +22,8 @@ http://127.0.0.1/autoptr/common/isDestructorType.html http://127.0.0.1/autoptr/common/isIntrusive.html http://127.0.0.1/autoptr/common/isSmartPtr.html -http://127.0.0.1/autoptr/common/SharedControlType.html -http://127.0.0.1/autoptr/common/UniqueControlType.html +http://127.0.0.1/autoptr/common/SharedControlBlock.html +http://127.0.0.1/autoptr/common/UniqueControlBlock.html http://127.0.0.1/autoptr/intrusive_ptr.html http://127.0.0.1/autoptr/intrusive_ptr/dynCast.html http://127.0.0.1/autoptr/intrusive_ptr/dynCast.html @@ -173,7 +173,6 @@ http://127.0.0.1/autoptr/shared_ptr/SharedPtr.this.html http://127.0.0.1/autoptr/shared_ptr/SharedPtr.this.html http://127.0.0.1/autoptr/shared_ptr/SharedPtr.this.html -http://127.0.0.1/autoptr/shared_ptr/SharedPtr.ThreadLocal.html http://127.0.0.1/autoptr/shared_ptr/SharedPtr.toHash.html http://127.0.0.1/autoptr/shared_ptr/SharedPtr.useCount.html http://127.0.0.1/autoptr/shared_ptr/SharedPtr.weak.html diff --git a/docs/symbols.js b/docs/symbols.js index 6d6661d..cdac0cc 100644 --- a/docs/symbols.js +++ b/docs/symbols.js @@ -9,7 +9,7 @@ var symbols = [ {name: 'autoptr.common.ControlBlock.Shared', kind: "aliasdeclaration", path: './autoptr/common/ControlBlock.Shared.html', attributes: []}, {name: 'autoptr.common.ControlBlock.this', kind: "functiondeclaration", path: './autoptr/common/ControlBlock.this.html', attributes: ["scope", "disable", "pure", "nothrow", "nogc", "scope", "safe"]}, {name: 'autoptr.common.ControlBlock.Weak', kind: "aliasdeclaration", path: './autoptr/common/ControlBlock.Weak.html', attributes: []}, -{name: 'autoptr.common.ControlTypeDeduction', kind: "aliasdeclaration", path: './autoptr/common/ControlTypeDeduction.html', attributes: []}, +{name: 'autoptr.common.ControlBlockDeduction', kind: "aliasdeclaration", path: './autoptr/common/ControlBlockDeduction.html', attributes: []}, {name: 'autoptr.common.DefaultAllocator', kind: "aliasdeclaration", path: './autoptr/common/DefaultAllocator.html', attributes: []}, {name: 'autoptr.common.DestructorAllocatorType', kind: "aliasdeclaration", path: './autoptr/common/DestructorAllocatorType.html', attributes: []}, {name: 'autoptr.common.DestructorDeleterType', kind: "aliasdeclaration", path: './autoptr/common/DestructorDeleterType.html', attributes: []}, @@ -21,8 +21,8 @@ var symbols = [ {name: 'autoptr.common.isDestructorType', kind: "enummemberdeclaration", path: './autoptr/common/isDestructorType.html', attributes: []}, {name: 'autoptr.common.isIntrusive', kind: "enummemberdeclaration", path: './autoptr/common/isIntrusive.html', attributes: []}, {name: 'autoptr.common.isSmartPtr', kind: "enummemberdeclaration", path: './autoptr/common/isSmartPtr.html', attributes: []}, -{name: 'autoptr.common.SharedControlType', kind: "aliasdeclaration", path: './autoptr/common/SharedControlType.html', attributes: []}, -{name: 'autoptr.common.UniqueControlType', kind: "aliasdeclaration", path: './autoptr/common/UniqueControlType.html', attributes: []}, +{name: 'autoptr.common.SharedControlBlock', kind: "aliasdeclaration", path: './autoptr/common/SharedControlBlock.html', attributes: []}, +{name: 'autoptr.common.UniqueControlBlock', kind: "aliasdeclaration", path: './autoptr/common/UniqueControlBlock.html', attributes: []}, {name: 'autoptr.intrusive_ptr', kind: "module", path: './autoptr/intrusive_ptr.html', attributes: []}, {name: 'autoptr.intrusive_ptr.dynCast', kind: "functiondeclaration", path: './autoptr/intrusive_ptr/dynCast.html', attributes: []}, {name: 'autoptr.intrusive_ptr.dynCastMove', kind: "functiondeclaration", path: './autoptr/intrusive_ptr/dynCastMove.html', attributes: []}, @@ -133,7 +133,6 @@ var symbols = [ {name: 'autoptr.shared_ptr.SharedPtr.SharedType', kind: "aliasdeclaration", path: './autoptr/shared_ptr/SharedPtr.SharedType.html', attributes: []}, {name: 'autoptr.shared_ptr.SharedPtr.store', kind: "aliasdeclaration", path: './autoptr/shared_ptr/SharedPtr.store.html', attributes: []}, {name: 'autoptr.shared_ptr.SharedPtr.this', kind: "functiondeclaration", path: './autoptr/shared_ptr/SharedPtr.this.html', attributes: ["pure", "nothrow", "nogc", "safe"]}, -{name: 'autoptr.shared_ptr.SharedPtr.ThreadLocal', kind: "aliasdeclaration", path: './autoptr/shared_ptr/SharedPtr.ThreadLocal.html', attributes: []}, {name: 'autoptr.shared_ptr.SharedPtr.toHash', kind: "functiondeclaration", path: './autoptr/shared_ptr/SharedPtr.toHash.html', attributes: ["const", "pure", "nothrow", "nogc", "property", "scope", "trusted"]}, {name: 'autoptr.shared_ptr.SharedPtr.useCount', kind: "functiondeclaration", path: './autoptr/shared_ptr/SharedPtr.useCount.html', attributes: ["const", "nothrow", "nogc", "property", "scope", "safe"]}, {name: 'autoptr.shared_ptr.SharedPtr.weak', kind: "functiondeclaration", path: './autoptr/shared_ptr/SharedPtr.weak.html', attributes: ["scope"]}, diff --git a/src/autoptr/common.d b/src/autoptr/common.d index 265e733..a34eeda 100644 --- a/src/autoptr/common.d +++ b/src/autoptr/common.d @@ -34,13 +34,17 @@ package struct SmartPtr{} /** Default `ControlBlock` for `SharedPtr` and `RcPtr`. */ -public alias SharedControlType = ControlBlock!(int, int); +public alias SharedControlBlock = ControlBlock!(int, int); +public deprecated alias SharedControlType = SharedControlBlock; + /** Default `ControlBlock` for `UniquePtr`. */ -public alias UniqueControlType = ControlBlock!void; +public alias UniqueControlBlock = ControlBlock!void; +public deprecated alias UniqueControlType = UniqueControlBlock; + /** @@ -327,7 +331,7 @@ unittest{ If `Type` is shared then `ControlType` is shared too (atomic counting). */ -public template ControlTypeDeduction(Type, ControlType){ +public template ControlBlockDeduction(Type, ControlType){ import std.traits : Select; alias impl = Select!( @@ -336,23 +340,26 @@ public template ControlTypeDeduction(Type, ControlType){ ControlType ); - alias ControlTypeDeduction = impl; + alias ControlBlockDeduction = impl; } +deprecated alias ControlTypeDeduction = ControlBlockDeduction; + + /// unittest{ - alias ControlType = ControlBlock!(int, int); + alias CB = ControlBlock!(int, int); - static assert(is(ControlTypeDeduction!(long, ControlType) == ControlType)); - static assert(is(ControlTypeDeduction!(void, ControlType) == ControlType)); - static assert(is(ControlTypeDeduction!(shared double, ControlType) == shared ControlType)); - static assert(is(ControlTypeDeduction!(const int, ControlType) == ControlType)); - static assert(is(ControlTypeDeduction!(shared const int, ControlType) == shared ControlType)); + static assert(is(ControlBlockDeduction!(long, CB) == CB)); + static assert(is(ControlBlockDeduction!(void, CB) == CB)); + static assert(is(ControlBlockDeduction!(shared double, CB) == shared CB)); + static assert(is(ControlBlockDeduction!(const int, CB) == CB)); + static assert(is(ControlBlockDeduction!(shared const int, CB) == shared CB)); - static assert(is(ControlTypeDeduction!(immutable int, ControlType) == ControlType)); + static assert(is(ControlBlockDeduction!(immutable int, CB) == CB)); - static assert(is(ControlTypeDeduction!(shared int[], ControlType) == shared ControlType)); - static assert(is(ControlTypeDeduction!(shared(int)[], ControlType) == ControlType)); + static assert(is(ControlBlockDeduction!(shared int[], CB) == shared CB)); + static assert(is(ControlBlockDeduction!(shared(int)[], CB) == CB)); } diff --git a/src/autoptr/intrusive_ptr.d b/src/autoptr/intrusive_ptr.d index 9c4bcef..bd6dbf2 100644 --- a/src/autoptr/intrusive_ptr.d +++ b/src/autoptr/intrusive_ptr.d @@ -2454,8 +2454,8 @@ version(unittest){ import std.meta : AliasSeq; //alias Test = long; static foreach(alias Test; AliasSeq!( - TestX!(SharedControlType), - //TestX!(shared SharedControlType) + TestX!(SharedControlBlock), + //TestX!(shared SharedControlBlock) )){{ alias SPtr(T) = IntrusivePtr!(T); diff --git a/src/autoptr/rc_ptr.d b/src/autoptr/rc_ptr.d index a97e1a6..665dfa0 100644 --- a/src/autoptr/rc_ptr.d +++ b/src/autoptr/rc_ptr.d @@ -71,7 +71,7 @@ unittest{ public template RcPtr( _Type, _DestructorType = DestructorType!_Type, - _ControlType = ControlTypeDeduction!(_Type, SharedControlType), + _ControlType = ControlBlockDeduction!(_Type, SharedControlBlock), bool _weakPtr = false ) if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ @@ -336,13 +336,13 @@ if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ { import core.lifetime : move; - auto u = UniquePtr!(long, SharedControlType).make(123); + auto u = UniquePtr!(long, SharedControlBlock).make(123); RcPtr!long s = move(u); //rvalue copy ctor assert(s != null); assert(s.useCount == 1); - RcPtr!long s2 = UniquePtr!(long, SharedControlType).init; + RcPtr!long s2 = UniquePtr!(long, SharedControlBlock).init; assert(s2 == null); } -------------------- @@ -2050,7 +2050,7 @@ pure nothrow @safe @nogc unittest{ } { - auto s = RcPtr!(long, shared(SharedControlType)).make!(DefaultAllocator, supportGC)(42); + auto s = RcPtr!(long, shared(SharedControlBlock)).make!(DefaultAllocator, supportGC)(42); } @@ -2066,7 +2066,7 @@ pure nothrow @safe @nogc unittest{ } { - auto s = RcPtr!(long[], shared(SharedControlType)).make!(DefaultAllocator, supportGC)(10, 42); + auto s = RcPtr!(long[], shared(SharedControlBlock)).make!(DefaultAllocator, supportGC)(10, 42); assert(s.length == 10); } } @@ -2088,7 +2088,7 @@ nothrow unittest{ } { - auto s = RcPtr!(long, shared(SharedControlType)).alloc!supportGC(a, 42); + auto s = RcPtr!(long, shared(SharedControlBlock)).alloc!supportGC(a, 42); } @@ -2104,7 +2104,7 @@ nothrow unittest{ } { - auto s = RcPtr!(long[], shared(SharedControlType)).alloc!supportGC(a, 10, 42); + auto s = RcPtr!(long[], shared(SharedControlBlock)).alloc!supportGC(a, 10, 42); assert(s.length == 10); } } @@ -2438,7 +2438,7 @@ version(unittest){ import std.meta : AliasSeq; //alias Test = long; - static foreach(alias ControlType; AliasSeq!(SharedControlType, shared SharedControlType)){{ + static foreach(alias ControlType; AliasSeq!(SharedControlBlock, shared SharedControlBlock)){{ alias SPtr(T) = RcPtr!(T, DestructorType!T, ControlType); //mutable: @@ -3232,13 +3232,13 @@ version(unittest){ /+{ import core.lifetime : move; - auto u = UniquePtr!(long, SharedControlType).make(123); + auto u = UniquePtr!(long, SharedControlBlock).make(123); RcPtr!long s = move(u); //rvalue copy ctor assert(s != null); assert(s.useCount == 1); - RcPtr!long s2 = UniquePtr!(long, SharedControlType).init; + RcPtr!long s2 = UniquePtr!(long, SharedControlBlock).init; assert(s2 == null); }+/ diff --git a/src/autoptr/shared_ptr.d b/src/autoptr/shared_ptr.d index 97c4d04..be1e134 100644 --- a/src/autoptr/shared_ptr.d +++ b/src/autoptr/shared_ptr.d @@ -76,7 +76,7 @@ unittest{ public template SharedPtr( _Type, _DestructorType = DestructorType!_Type, - _ControlType = ControlTypeDeduction!(_Type, SharedControlType), + _ControlType = ControlBlockDeduction!(_Type, SharedControlBlock), bool _weakPtr = false ) if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ @@ -195,24 +195,6 @@ if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ ); - /** - Return thread local `SharedPtr` if specified: - - 1. if parameter `threadLocal` is `true` then result type is thread local `SharedPtr` (!is(_ControlType == shared)). - - 2. if parameter `threadLocal` is `false` then result type is not thread local `SharedPtr` (is(_ControlType == shared)). - */ - alias ThreadLocal(bool threadLocal = true) = SharedPtr!( - _Type, - _DestructorType, - Select!( - threadLocal, - Unshared!_ControlType, - shared(_ControlType) - ), - isWeak - ); - /** `true` if shared `SharedPtr` has lock free operations `store`, `load`, `exchange`, `compareExchange`, otherwise 'false' @@ -223,6 +205,7 @@ if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ static assert(ElementReferenceType.sizeof == size_t.sizeof); + /** Destructor @@ -389,13 +372,13 @@ if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ { import core.lifetime : move; - auto u = UniquePtr!(long, SharedControlType).make(123); + auto u = UniquePtr!(long, SharedControlBlock).make(123); SharedPtr!long s = move(u); //rvalue copy ctor assert(s != null); assert(s.useCount == 1); - SharedPtr!long s2 = UniquePtr!(long, SharedControlType).init; + SharedPtr!long s2 = UniquePtr!(long, SharedControlBlock).init; assert(s2 == null); } @@ -496,7 +479,7 @@ if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ } { - shared SharedPtr!(long).ThreadLocal!false x = SharedPtr!(shared long).ThreadLocal!false.make(1); + shared SharedPtr!(long) x = SharedPtr!(shared long).make(1); assert(x.useCount == 1); x = null; @@ -1072,7 +1055,7 @@ if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ Examples: -------------------- - shared SharedPtr!(long).ThreadLocal!false x = SharedPtr!(shared long).ThreadLocal!false.make(123); + shared SharedPtr!(long) x = SharedPtr!(shared long).make(123); { SharedPtr!(shared long) y = x.load(); @@ -1929,10 +1912,11 @@ if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ public template SharedPtr( _Type, _ControlType, - _DestructorType = DestructorType!_Type + _DestructorType = DestructorType!_Type, + bool _weakPtr = false ) if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ - alias SharedPtr = .SharedPtr!(_Type, _DestructorType, _ControlType, false); + alias SharedPtr = .SharedPtr!(_Type, _DestructorType, _ControlType, _weakPtr); } /// @@ -2123,7 +2107,7 @@ nothrow unittest{ public template WeakPtr( _Type, _DestructorType = DestructorType!_Type, - _ControlType = ControlTypeDeduction!(_Type, SharedControlType), + _ControlType = ControlBlockDeduction!(_Type, SharedControlBlock), ) if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ alias WeakPtr = .SharedPtr!(_Type, _DestructorType, _ControlType, true); @@ -2155,7 +2139,7 @@ pure nothrow @nogc unittest{ } { - auto s = SharedPtr!(long, shared(SharedControlType)).make!(DefaultAllocator, supportGC)(42); + auto s = SharedPtr!(long, shared(SharedControlBlock)).make!(DefaultAllocator, supportGC)(42); } // dynamic array: @@ -2168,7 +2152,7 @@ pure nothrow @nogc unittest{ assert(s.length == 10); } { - auto s = SharedPtr!(long[], shared(SharedControlType)).make!(DefaultAllocator, supportGC)(10, 42); + auto s = SharedPtr!(long[], shared(SharedControlBlock)).make!(DefaultAllocator, supportGC)(10, 42); assert(s.length == 10); } @@ -2190,7 +2174,7 @@ pure nothrow @nogc unittest{ assert(x == 44); { - auto s = SharedPtr!(long, shared(SharedControlType)).make!(DefaultAllocator, supportGC)(&x, &deleter); + auto s = SharedPtr!(long, shared(SharedControlBlock)).make!(DefaultAllocator, supportGC)(&x, &deleter); } assert(x == 45); } @@ -2212,7 +2196,7 @@ nothrow unittest{ } { - auto s = SharedPtr!(long, shared(SharedControlType)).alloc!supportGC(a, 42); + auto s = SharedPtr!(long, shared(SharedControlBlock)).alloc!supportGC(a, 42); } // dynamic array: @@ -2225,7 +2209,7 @@ nothrow unittest{ assert(s.length == 10); } { - auto s = SharedPtr!(long[], shared(SharedControlType)).alloc!supportGC(a, 10, 42); + auto s = SharedPtr!(long[], shared(SharedControlBlock)).alloc!supportGC(a, 10, 42); assert(s.length == 10); } @@ -2247,7 +2231,7 @@ nothrow unittest{ assert(x == 44); { - auto s = SharedPtr!(long, shared(SharedControlType)).alloc!supportGC(a, &x, &deleter); + auto s = SharedPtr!(long, shared(SharedControlBlock)).alloc!supportGC(a, &x, &deleter); } assert(x == 45); } @@ -2702,7 +2686,7 @@ version(unittest){ import std.meta : AliasSeq; //alias Test = long; - static foreach(alias ControlType; AliasSeq!(SharedControlType, shared SharedControlType)){{ + static foreach(alias ControlType; AliasSeq!(SharedControlBlock, shared SharedControlBlock)){{ alias SPtr(T) = SharedPtr!(T, DestructorType!T, ControlType); //mutable: @@ -2883,7 +2867,7 @@ version(unittest){ import autoptr.internal.mutex : supportMutex; static if(supportMutex){ - shared SharedPtr!(long).ThreadLocal!false x = SharedPtr!(shared long).ThreadLocal!false.make(1); + shared SharedPtr!(long) x = SharedPtr!(shared long).make(1); assert(x.useCount == 1); x = null; @@ -2973,7 +2957,7 @@ version(unittest){ //load: nothrow @nogc unittest{ - shared SharedPtr!(long).ThreadLocal!false x = SharedPtr!(shared long).ThreadLocal!false.make(123); + shared SharedPtr!(long) x = SharedPtr!(shared long).make(123); import autoptr.internal.mutex : supportMutex; static if(supportMutex){ @@ -3514,13 +3498,13 @@ version(unittest){ /+{ import core.lifetime : move; - auto u = UniquePtr!(long, SharedControlType).make(123); + auto u = UniquePtr!(long, SharedControlBlock).make(123); SharedPtr!long s = move(u); //rvalue copy ctor assert(s != null); assert(s.useCount == 1); - SharedPtr!long s2 = UniquePtr!(long, SharedControlType).init; + SharedPtr!long s2 = UniquePtr!(long, SharedControlBlock).init; assert(s2 == null); }+/ diff --git a/src/autoptr/unique_ptr.d b/src/autoptr/unique_ptr.d index c32e7b5..570ad2d 100644 --- a/src/autoptr/unique_ptr.d +++ b/src/autoptr/unique_ptr.d @@ -59,7 +59,7 @@ public alias share = autoptr.rc_ptr.share; public template UniquePtr( _Type, _DestructorType = DestructorType!_Type, - _ControlType = immutable(UniqueControlType), + _ControlType = immutable(UniqueControlBlock), ) if(isControlBlock!_ControlType && isDestructorType!_DestructorType){ static assert(is(_ControlType == immutable)); @@ -224,7 +224,7 @@ pure nothrow @safe @nogc unittest{ } { - auto s = UniquePtr!(long, immutable(SharedControlType)).make!(DefaultAllocator, supportGC)(42); + auto s = UniquePtr!(long, immutable(SharedControlBlock)).make!(DefaultAllocator, supportGC)(42); } // dynamic array: @@ -239,7 +239,7 @@ pure nothrow @safe @nogc unittest{ } { - auto s = UniquePtr!(long[], immutable(SharedControlType)).make!(DefaultAllocator, supportGC)(10, 42); + auto s = UniquePtr!(long[], immutable(SharedControlBlock)).make!(DefaultAllocator, supportGC)(10, 42); assert(s.length == 10); } } @@ -261,7 +261,7 @@ nothrow unittest{ } { - auto s = UniquePtr!(long, immutable(SharedControlType)).alloc!supportGC(a, 42); + auto s = UniquePtr!(long, immutable(SharedControlBlock)).alloc!supportGC(a, 42); } // dynamic array: @@ -276,7 +276,7 @@ nothrow unittest{ } { - auto s = UniquePtr!(long[], immutable(SharedControlType)).alloc!supportGC(a, 10, 42); + auto s = UniquePtr!(long[], immutable(SharedControlBlock)).alloc!supportGC(a, 10, 42); assert(s.length == 10); } }