<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedDataContainerRef" inherits="RefCounted" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		An internal class used by [PackedDataContainer] to pack nested arrays and dictionaries.
	</brief_description>
	<description>
		When packing nested containers using [PackedDataContainer], they are recursively packed into [PackedDataContainerRef] (only applies to [Array] and [Dictionary]). Their data can be retrieved the same way as from [PackedDataContainer].
		[codeblock]
		var packed = PackedDataContainer.new()
		packed.pack([1, 2, 3, ["abc", "def"], 4, 5, 6])

		for element in packed:
		    if element is PackedDataContainerRef:
		        for subelement in element:
		            print("::", subelement)
		    else:
		        print(element)

		# Prints:
		# 1
		# 2
		# 3
		# ::abc
		# ::def
		# 4
		# 5
		# 6
		[/codeblock]
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="size" qualifiers="const">
			<return type="int" />
			<description>
				Returns the size of the packed container (see [method Array.size] and [method Dictionary.size]).
			</description>
		</method>
	</methods>
</class>
