Skip to content

GH_Chunk

Public Class

Full implementation of GH_IChunk, GH_IReader, GH_IWriter, GH_IBinarySupport and GH_IXmlSupport. Instances of this class are usually disguised as one of the interfaces it implements.

Inheritance Hierarchy

System.Object
GH_IO.Serialization.GH_Chunk
GH_IO.Serialization.GH_LooseChunk

Namespace: GH_IO.Serialization

Assembly: GH_IO (in GH_IO.dll)

Syntax

public class GH_Chunk : GH_IWriter, GH_IChunk,
GH_IBinarySupport, GH_IXmlSupport, GH_IReader

The GH_Chunk type exposes the following members.

Constructors

Name

Description


Protected method

Blank constructor. You typically do not need to create your own Chunks. The GH_Archive class will create top-level chunks and existing chunks can create child chunks.


Protected method

Constructor. You typically do not need to create your own Chunks. The GH_Archive class will create top-level chunks and existing chunks can create child chunks.


Protected method

Constructor. You typically do not need to create your own Chunks. The GH_Archive class will create top-level chunks and existing chunks can create child chunks.


Protected method

Constructor. You typically do not need to create your own Chunks. The GH_Archive class will create top-level chunks and existing chunks can create child chunks.


Properties

Name

Description


Public Property

Gets a pointer to the archive that owns the Root of the tree this chunk belongs to.


Public Property

Gets a string representing the URI with which the archive is associated. The location may be a null string.


Public Property

Gets the number of child chunks contained in this chunk. The set of all child chunks is referred to as a ‘litter’.


Public Property

Gets a pointer to the internal list of child chunks. Do not access this list unless you know what you are doing.


Public Property

Gets a value that indicates whether or not comments have been stored in this chunk.


Public Property

Gets the index existence implication. The item is considered to have an index qualifier if the index value is larger than or equal to zero.


Public Property

Gets the name validity of this item. The item is considered to have an invalid name if string.IsNullOrEmpty(name)


Public Property

Gets the index of this chunk. The index is set by the owner of this chunk. Indices smaller than zero imply no index has been set. The combination of name+index is always unique among a set of chunks in the same litter.


Public Property

Gets the number of items contained in this chunk.


Public Property

Gets a pointer to the internal list of items. Do not access this list unless you know what you are doing.


Public Property

Gets the name of this chunk. The name is set by the owner of this chunk. Names must be at least 1 character long. The combination of name+index is always unique among a set of chunks in a single litter.


Methods

Name

Description


Public Method

Adds a text comment to this chunk. Comments are serialized only if the output flavour is a human readable format. Comments are never deserialized, they are purely for the benefit of the humans reading the file data.


Public Method

Log a new message with the top-level archive. Messages are collected during read/write operations, and can be displayed to the user upon completion using GH_Archive.ShowMessageLog().


Public Method

Checks whether a chunk with the specified name exists in the litter. Only chunks without index qualifiers are considered. Name comparisons are not case-sensitive.


Public Method

Checks whether a chunk with the specified name and index exists in the litter. Only chunks with index qualifiers are considered. Name comparisons are not case-sensitive.


Public Method

Copy all values and sub-chunks from another chunk.


Public Method

Copy all values and sub-chunks in this chunk to another chunk which does not point to the same archive.


Public Method

Create a new child chunk with the specified name and without an index qualifier. If another chunk already exists with similar properties, an exception will be thrown.


Public Method

Create a new child chunk with the specified name and index qualifier. If another chunk already exists with similar properties, an exception will be thrown.


Public Method

Finds the first chunk in the litter that matches the given name. Only chunks without index qualifiers are considered.


Public Method

Finds the first chunk in the list that matches the given name and index. Only chunks with index qualifiers are considered.


Public Method

Finds the first item that matches the given name. Only items without index qualifiers are considered. Name comparisons are not case-sensitive.


Public Method

Finds the first item that matches the given name and index. Only items with index qualifiers are considered. Name comparisons are not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method
Static Member

Construct a new instance of GH_Chunk which acts as a Root node. If you must create a chunk from scratch, use this static method to create one.


Public Method

Gets the occupancy for a specific item name. Only items without index qualifiers are considered.


Public Method

Checks whether an item with the specified name and index exists. Only items with index qualifiers are considered. Name comparisons are not case-sensitive.


Public Method

Read this chunk and all child chunks from a binary stream.


Public Method

Read this chunk and all child chunks from an Xml node.


Public Method

Remove the specified chunk from the litter.


Public Method

Remove the first chunk with a matching name. Only chunks without index qualifiers are considered. Name comparisons are not case-sensitive.


Public Method

Remove the first chunk with a matching name and index. Only chunks with index qualifiers are considered. Name comparisons are not case-sensitive.


Public Method

Remove an unindexed item from this chunk.


Public Method

Remove an indexed item from this chunk.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The name must be unique or an exception will be thrown.


Public Method

Add a new data item to this chunk. The combination of name and index must be unique or an exception will be thrown.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name. Name comparison is not case-sensitive.


Public Method

Gets the value of the item with the specified name and index. Name comparison is not case-sensitive.


Public Method

Write this chunk and all child chunks to a binary stream.


Public Method

Serialize this chunk into an Xml stream.


Fields

Name

Description


Protected field

m_archive

Pointer to the archive that owns the Root of the tree this chunk belongs to.


Protected field

m_chunks

Dictionary of sub-chunks contained within this chunk.


Protected field

m_comments

List of text comments. This list is automatically instantiated once the first comment is added.


Protected field

m_index

Index of this chunk. This field is set only once, during construction. A negative index indicates no index qualifier has been set.


Protected field

m_items

The list of nodes contained within this chunk.


Protected field

m_name

Name of this chunk. This field is set only once, during construction.


Protected fieldStatic Member

name_comp

Comparison flag to use when comparing names.