Add a diagram for the 5.11 SV class structure, including B::REGEXP.
Nicholas Clark [Thu, 17 Jan 2008 08:17:11 +0000 (08:17 +0000)]
p4raw-id: //depot/perl@32987

ext/B/B.pm

index 3e5e8ab..0f77a3b 100644 (file)
@@ -7,7 +7,7 @@
 #
 package B;
 
-our $VERSION = '1.18';
+our $VERSION = '1.19';
 
 use XSLoader ();
 require Exporter;
@@ -577,7 +577,7 @@ B::IV, B::NV, B::RV, B::PV, B::PVIV, B::PVNV, B::PVMG, B::BM (5.9.5 and
 earlier), B::PVLV, B::AV, B::HV, B::CV, B::GV, B::FM, B::IO. These classes
 correspond in the obvious way to the underlying C structures of similar names.
 The inheritance hierarchy mimics the underlying C "inheritance". For the
-5.10, 5.10.1 I<etc> this is:
+5.10.x branch, (I<ie> 5.10.0, 5.10.1 I<etc>) this is:
 
                            B::SV
                              |
@@ -602,10 +602,6 @@ The inheritance hierarchy mimics the underlying C "inheritance". For the
                          |           |
                       B::PVLV      B::FM
 
-
-For 5.11.0 and later, B::RV is abolished, and IVs can be used to store
-references.
-
 For 5.9.0 and earlier, PVLV is a direct subclass of PVMG, and BM is still
 present as a distinct type, so the base of this diagram is
 
@@ -621,6 +617,32 @@ present as a distinct type, so the base of this diagram is
                                            |
                                          B::FM
 
+For 5.11.0 and later, B::RV is abolished, and IVs can be used to store
+references, and a new type B::REGEXP is introduced, giving this structure:
+
+                           B::SV
+                             |
+                +------------+------------+
+                |            |            |
+              B::PV        B::IV        B::NV
+                  \         /           /
+                   \       /           /
+                    B::PVIV           /
+                         \           /
+                          \         /
+                           \       /
+                            B::PVNV
+                               |
+                               |
+                            B::PVMG
+                               |
+           +-------+-------+---+---+-------+-------+
+           |       |       |       |       |       |
+         B::AV   B::GV   B::HV   B::CV   B::IO B::REGEXP
+                   |               |
+                   |               |
+                B::PVLV          B::FM
+
 
 Access methods correspond to the underlying C macros for field access,
 usually with the leading "class indication" prefix removed (Sv, Av,