Hoyt's FORK of DemoIccMAX 2.1.17.hoyt
Documentation for Hoyt's FORK of DemoIccMAX
|
#include <IccTagBasic.h>
Public Member Functions | |
CIccTag () | |
Name: CIccTag::CIccTag. | |
virtual void | Describe (std::string &sDescription, int nVerboseness=0) |
Function: Describe(sDescription) Each derived tag will implement it's own Describe() function. | |
virtual void | DetachIO () |
Function: ReadAll() - Read All sub data for tag from file. | |
virtual const icChar * | GetClassName () const |
virtual IIccExtensionTag * | GetExtension () |
virtual icArraySignature | GetTagArrayType () const |
virtual icStructSignature | GetTagStructType () const |
virtual icTagTypeSignature | GetType () const |
Function: GetType() | |
virtual bool | IsArrayType () |
virtual bool | IsMBBType () |
virtual bool | IsNumArrayType () const |
virtual bool | IsSupported () |
Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes. | |
virtual CIccTag * | NewCopy () const |
Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function. | |
virtual bool | Read (icUInt32Number size, CIccIO *pIO) |
Function: Read(size, pIO) - Read tag from file. | |
virtual bool | Read (icUInt32Number size, CIccIO *pIO, CIccProfile *pProfile) |
Function: Read(size, pIO) - Read tag from file. | |
virtual bool | ReadAll () |
Function: ReadAll() - Read All sub data for tag from file. | |
virtual icValidateStatus | Validate (std::string sigPath, std::string &sReport, const CIccProfile *pProfile=NULL) const |
Function: Validate Each derived tag will implement it's own IsValid() function. | |
virtual bool | Write (CIccIO *pIO) |
Function: Write(pIO) Each derived tag will implement it's own Write() function. | |
virtual | ~CIccTag () |
Name: CIccTag::CIccTag. | |
Static Public Member Functions | |
static CIccTag * | Create (icTagTypeSignature sig) |
Name: CIccTag::Create. | |
Public Attributes | |
icUInt32Number | m_nReserved |
Class: CIccTag.
Purpose: CIccTag is the base class that all Icc Tags are derived from. It defines basic tag functionality, and provides a static function that acts as an object construction factory.
Definition at line 107 of file IccTagBasic.h.
CIccTag::CIccTag | ( | ) |
Name: CIccTag::CIccTag.
Purpose: Constructor
Definition at line 113 of file IccTagBasic.cpp.
|
virtual |
Name: CIccTag::CIccTag.
Purpose: Destructor
Definition at line 126 of file IccTagBasic.cpp.
|
static |
Name: CIccTag::Create.
Purpose: This is a static tag creator based upon tag signature type
Args: sig = tag type signature
Return: Pointer to Allocated tag
Definition at line 143 of file IccTagBasic.cpp.
References CIccTagCreator::CreateTag(), and sig.
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccTagStruct::LoadElem(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccMpeTintArray::Read(), CIccTagLut16::Read(), CIccTagLut8::Read(), CIccTagLutAtoB::Read(), CIccTagLut16::SetColorSpaces(), CIccTagLut8::SetColorSpaces(), and CIccProfileDescText::SetType().
|
inlinevirtual |
Function: Describe(sDescription) Each derived tag will implement it's own Describe() function.
Parameter(s): sDescription - A string to put the tag's description into.
Reimplemented in CIccMBB, CIccTagArray, CIccTagChromaticity, CIccTagCicp, CIccTagColorantOrder, CIccTagColorantTable, CIccTagCurve, CIccTagData, CIccTagDateTime, CIccTagDict, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagEmbeddedProfile, CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagGamutBoundaryDesc, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagMultiProcessElement, CIccTagNamedColor2, CIccTagNum< T, Tsig >, CIccTagNum< T, Tsig >, CIccTagParametricCurve, CIccTagProfileSeqDesc, CIccTagProfileSequenceId, CIccTagResponseCurveSet16, CIccTagSegmentedCurve, CIccTagSignature, CIccTagSparseMatrixArray, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagStruct, CIccTagText, CIccTagTextDescription, CIccTagUnknown, CIccTagUtf16Text, CIccTagUtf8Text, CIccTagViewingConditions, CIccTagXYZ, and CIccTagZipUtf8Text.
Definition at line 221 of file IccTagBasic.h.
Referenced by DumpTag(), and MyTagDialog::MyTagDialog().
|
inlinevirtual |
Function: ReadAll() - Read All sub data for tag from file.
Called by CIccProfile::ReadAll() to read all sub data for tag
Returns true if ReadAll is successful.
Definition at line 183 of file IccTagBasic.h.
|
inlinevirtual |
Reimplemented in CIccTagArray, CIccTagChromaticity, CIccTagCicp, CIccTagColorantOrder, CIccTagColorantTable, CIccTagCurve, CIccTagData, CIccTagDateTime, CIccTagDict, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagEmbeddedProfile, CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagGamutBoundaryDesc, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagMultiProcessElement, CIccTagNamedColor2, CIccTagNum< T, Tsig >, CIccTagParametricCurve, CIccTagProfileSeqDesc, CIccTagProfileSequenceId, CIccTagResponseCurveSet16, CIccTagSegmentedCurve, CIccTagSignature, CIccTagSparseMatrixArray, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagStruct, CIccTagText, CIccTagTextDescription, CIccTagUnknown, CIccTagUtf16Text, CIccTagUtf8Text, CIccTagViewingConditions, CIccTagXmlArray, CIccTagXmlChromaticity, CIccTagXmlCicp, CIccTagXmlColorantOrder, CIccTagXmlColorantTable, CIccTagXmlCurve, CIccTagXmlDateTime, CIccTagXmlDict, CIccTagXmlFixedNum< T, Tsig >, CIccTagXmlFloatNum< T, A, Tsig >, CIccTagXmlLut16, CIccTagXmlLut8, CIccTagXmlLutAtoB, CIccTagXmlLutBtoA, CIccTagXmlMeasurement, CIccTagXmlMultiLocalizedUnicode, CIccTagXmlMultiProcessElement, CIccTagXmlNamedColor2, CIccTagXmlNum< T, A, Tsig >, CIccTagXmlParametricCurve, CIccTagXmlProfileSeqDesc, CIccTagXmlProfileSequenceId, CIccTagXmlResponseCurveSet16, CIccTagXmlSegmentedCurve, CIccTagXmlSignature, CIccTagXmlSparseMatrixArray, CIccTagXmlSpectralDataInfo, CIccTagXmlSpectralViewingConditions, CIccTagXmlStruct, CIccTagXmlTagData, CIccTagXmlText, CIccTagXmlTextDescription, CIccTagXmlUnknown, CIccTagXmlUtf16Text, CIccTagXmlUtf8Text, CIccTagXmlViewingConditions, CIccTagXmlXYZ, CIccTagXmlZipUtf8Text, CIccTagXmlZipXml, CIccTagXYZ, CIccTagZipUtf8Text, and CIccTagZipXml.
Definition at line 139 of file IccTagBasic.h.
|
inlinevirtual |
Reimplemented in CIccTagXmlArray, CIccTagXmlChromaticity, CIccTagXmlCicp, CIccTagXmlColorantOrder, CIccTagXmlColorantTable, CIccTagXmlCurve, CIccTagXmlDateTime, CIccTagXmlDict, CIccTagXmlEmbeddedHeightImage, CIccTagXmlEmbeddedNormalImage, CIccTagXmlEmbeddedProfile, CIccTagXmlFixedNum< T, Tsig >, CIccTagXmlFloatNum< T, A, Tsig >, CIccTagXmlGamutBoundaryDesc, CIccTagXmlLut16, CIccTagXmlLut8, CIccTagXmlLutAtoB, CIccTagXmlLutBtoA, CIccTagXmlMeasurement, CIccTagXmlMultiLocalizedUnicode, CIccTagXmlMultiProcessElement, CIccTagXmlNamedColor2, CIccTagXmlNum< T, A, Tsig >, CIccTagXmlParametricCurve, CIccTagXmlProfileSeqDesc, CIccTagXmlProfileSequenceId, CIccTagXmlResponseCurveSet16, CIccTagXmlSegmentedCurve, CIccTagXmlSignature, CIccTagXmlSparseMatrixArray, CIccTagXmlSpectralDataInfo, CIccTagXmlSpectralViewingConditions, CIccTagXmlStruct, CIccTagXmlTagData, CIccTagXmlText, CIccTagXmlTextDescription, CIccTagXmlUnknown, CIccTagXmlUtf16Text, CIccTagXmlUtf8Text, CIccTagXmlViewingConditions, CIccTagXmlXYZ, CIccTagXmlZipUtf8Text, and CIccTagXmlZipXml.
Definition at line 143 of file IccTagBasic.h.
Referenced by icCurvesFromXml(), icCurvesToXml(), icProfDescToXml(), icXmlParseProfDesc(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccTagXmlArray::ToXml(), CIccTagXmlStruct::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
|
inlinevirtual |
Reimplemented in CIccTagArray.
Definition at line 133 of file IccTagBasic.h.
References icSigUndefinedArray.
Referenced by icGetTagArrayHandlerOfType(), and CIccProfileXml::ParseTag().
|
inlinevirtual |
Reimplemented in CIccTagStruct.
Definition at line 132 of file IccTagBasic.h.
References icSigUndefinedStruct.
Referenced by icGetTagStructHandlerOfType(), CIccArrayColorantInfo::Validate(), and CIccArrayNamedColor::Validate().
|
inlinevirtual |
Function: GetType()
Purpose: Get Tag Type. Each derived tag will implement it's own GetType() function.
Reimplemented in CIccTagArray, CIccTagChromaticity, CIccTagCicp, CIccTagColorantOrder, CIccTagColorantTable, CIccTagCurve, CIccTagData, CIccTagDateTime, CIccTagDict, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagEmbeddedProfile, CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagGamutBoundaryDesc, CIccTagLut16, CIccTagLut8, CIccTagLutAtoB, CIccTagLutBtoA, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagMultiProcessElement, CIccTagNamedColor2, CIccTagNum< T, Tsig >, CIccTagParametricCurve, CIccTagProfileSeqDesc, CIccTagProfileSequenceId, CIccTagResponseCurveSet16, CIccTagSegmentedCurve, CIccTagSignature, CIccTagSparseMatrixArray, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagStruct, CIccTagText, CIccTagTextDescription, CIccTagUnknown, CIccTagUtf16Text, CIccTagUtf8Text, CIccTagViewingConditions, CIccTagXYZ, CIccTagZipUtf8Text, and CIccTagZipXml.
Definition at line 131 of file IccTagBasic.h.
References icMaxEnumType.
Referenced by CIccTagArray::AreAllOfType(), CIccProfileIdDesc::CIccProfileIdDesc(), DumpTag(), CIccPRMG::EvaluateProfile(), CIccStructBRDF::GetBRDFFunction(), CIccStructBRDF::GetBRDFType(), CIccStructNamedColor::getName(), icGetTagArrayHandler(), icGetTagStructHandler(), icGetTagText(), icProfDescToXml(), CDevLinkWriter::iterate(), main(), MyChild::MyChild(), MyTagDialog::MyTagDialog(), CIccProfileXml::ParseTag(), CIccTagXmlArray::ToXml(), CIccTagXmlStruct::ToXml(), CIccProfileXml::ToXmlWithBlanks(), CIccArrayColorantInfo::Validate(), and CIccArrayUnknown::Validate().
|
inlinevirtual |
Reimplemented in CIccTagChromaticity, CIccTagData, CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagNum< T, Tsig >, CIccTagSparseMatrixArray, and CIccTagXYZ.
Definition at line 135 of file IccTagBasic.h.
Referenced by DumpTag(), and MyTagDialog::MyTagDialog().
|
inlinevirtual |
Reimplemented in CIccMBB.
Definition at line 136 of file IccTagBasic.h.
Referenced by CIccProfileXml::ParseTag().
|
inlinevirtual |
Reimplemented in CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagNum< T, Tsig >, and CIccTagSparseMatrixArray.
Definition at line 137 of file IccTagBasic.h.
Referenced by CIccArrayNamedColor::FindDeviceColor(), CIccArrayNamedColor::FindPcsColor(), CIccArrayNamedColor::FindSpectralColor(), CIccTagStruct::GetElemNumberValue(), CIccStructNamedColor::GetNumArray(), CIccMpeXmlTintArray::ParseXml(), and CIccMpeTintArray::Read().
|
inlinevirtual |
Function: IsSupported(size, pIO) - Check if tag fully supported for apply purposes.
By Default inherited classes are supported. Unknown tag types are not supported.
Returns true if tag type is supported.
Reimplemented in CIccTagEmbeddedProfile, CIccTagMultiProcessElement, and CIccTagUnknown.
Definition at line 153 of file IccTagBasic.h.
|
inlinevirtual |
Function: NewCopy(sDescription) Each derived tag will implement it's own NewCopy() function.
Parameter(s): none
Returns a new CIccTag object that is a copy of this object.
Reimplemented in CIccCurve, CIccMBB, CIccTagArray, CIccTagChromaticity, CIccTagCicp, CIccTagColorantOrder, CIccTagColorantTable, CIccTagCurve, CIccTagData, CIccTagDateTime, CIccTagDict, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagEmbeddedProfile, CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagGamutBoundaryDesc, CIccTagLut16, CIccTagLut8, CIccTagLutAtoB, CIccTagLutBtoA, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagMultiProcessElement, CIccTagNamedColor2, CIccTagNum< T, Tsig >, CIccTagParametricCurve, CIccTagProfileSeqDesc, CIccTagProfileSequenceId, CIccTagResponseCurveSet16, CIccTagSegmentedCurve, CIccTagSignature, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagStruct, CIccTagText, CIccTagTextDescription, CIccTagUnknown, CIccTagUtf16Text, CIccTagUtf8Text, CIccTagViewingConditions, CIccTagXmlMultiLocalizedUnicode, CIccTagXmlText, CIccTagXmlTextDescription, CIccTagXmlUtf16Text, CIccTagXmlUtf8Text, CIccTagXmlZipUtf8Text, CIccTagXmlZipXml, CIccTagXYZ, CIccTagZipUtf8Text, and CIccTagZipXml.
Definition at line 121 of file IccTagBasic.h.
Referenced by CDevLinkWriter::begin(), CIccMpeTintArray::CIccMpeTintArray(), CIccProfileDescText::CIccProfileDescText(), icConvertEncodingProfile(), CIccMpeTintArray::operator=(), and CIccProfileDescText::operator=().
|
inlinevirtual |
Function: Read(size, pIO) - Read tag from file.
Each derived tag will implement it's own Read() function.
Parameter(s): size - number of bytes in tag including the type signature. pIO - IO object used to read in tag. The IO object should already be initialized to point to the begining of the tag.
Returns true if Read is successful.
Reimplemented in CIccTagArray, CIccTagChromaticity, CIccTagCicp, CIccTagColorantOrder, CIccTagColorantTable, CIccTagCurve, CIccTagData, CIccTagDateTime, CIccTagDict, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagEmbeddedProfile, CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagGamutBoundaryDesc, CIccTagLut16, CIccTagLut8, CIccTagLutAtoB, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagMultiProcessElement, CIccTagNamedColor2, CIccTagNum< T, Tsig >, CIccTagParametricCurve, CIccTagProfileSeqDesc, CIccTagProfileSequenceId, CIccTagResponseCurveSet16, CIccTagSegmentedCurve, CIccTagSignature, CIccTagSparseMatrixArray, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagStruct, CIccTagText, CIccTagTextDescription, CIccTagUnknown, CIccTagUtf16Text, CIccTagUtf8Text, CIccTagViewingConditions, CIccTagXYZ, and CIccTagZipUtf8Text.
Definition at line 167 of file IccTagBasic.h.
Referenced by CIccTagStruct::LoadElem(), and CIccTagArray::Read().
|
inlinevirtual |
Function: Read(size, pIO) - Read tag from file.
Each derived tag will implement it's own Read() function.
Parameter(s): size - number of bytes in tag including the type signature. pIO - IO object used to read in tag. The IO object should already be initialized to point to the begining of the tag.
Returns true if Read is successful.
Reimplemented in CIccTagEmbeddedProfile.
Definition at line 197 of file IccTagBasic.h.
References Read().
Referenced by Read().
|
inlinevirtual |
Function: ReadAll() - Read All sub data for tag from file.
Called by CIccProfile::ReadAll() to read all sub data for tag
Returns true if ReadAll is successful.
Reimplemented in CIccTagEmbeddedProfile.
Definition at line 175 of file IccTagBasic.h.
|
virtual |
Function: Validate Each derived tag will implement it's own IsValid() function.
Name: CIccTag::Validate.
Parameter(s): sig - signature of tag being validated, sDescription - A string to put tag validation report.
Purpose: Check tag data validity. In base class we only look at the tag's reserved data value
Args: sig = signature of tag being validated, sReport = String to add report information to
Return: icValidateStatusOK if valid, or other error status.
Reimplemented in CIccTagArray, CIccTagChromaticity, CIccTagCicp, CIccTagColorantOrder, CIccTagColorantTable, CIccTagCurve, CIccTagData, CIccTagDateTime, CIccTagDict, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagEmbeddedProfile, CIccTagFloatNum< T, Tsig >, CIccTagGamutBoundaryDesc, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagMultiProcessElement, CIccTagNamedColor2, CIccTagNum< T, Tsig >, CIccTagParametricCurve, CIccTagProfileSeqDesc, CIccTagProfileSequenceId, CIccTagResponseCurveSet16, CIccTagSegmentedCurve, CIccTagSignature, CIccTagSparseMatrixArray, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagStruct, CIccTagText, CIccTagTextDescription, CIccTagUtf16Text, CIccTagUtf8Text, CIccTagViewingConditions, CIccTagXYZ, and CIccTagZipUtf8Text.
Definition at line 164 of file IccTagBasic.cpp.
References CIccInfo::GetSigPathName(), icMsgValidateNonCompliant, icValidateNonCompliant, and icValidateOK.
Referenced by CIccArrayColorantInfo::Validate(), CIccArrayNamedColor::Validate(), CIccArrayUnknown::Validate(), CIccMBB::Validate(), CIccTagArray::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagCurve::Validate(), CIccTagData::Validate(), CIccTagDateTime::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccTagMeasurement::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagNamedColor2::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagParametricCurve::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagProfileSequenceId::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagSignature::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagStruct::Validate(), CIccTagText::Validate(), CIccTagTextDescription::Validate(), CIccTagUtf16Text::Validate(), CIccTagUtf8Text::Validate(), CIccTagViewingConditions::Validate(), CIccTagXYZ::Validate(), and CIccTagZipUtf8Text::Validate().
|
inlinevirtual |
Function: Write(pIO) Each derived tag will implement it's own Write() function.
Parameter(s): pIO - IO object used to write a tag. The IO object should already be initialized to point to the begining of the tag.
Returns true if Write is successful.
Reimplemented in CIccTagArray, CIccTagChromaticity, CIccTagCicp, CIccTagColorantOrder, CIccTagColorantTable, CIccTagCurve, CIccTagData, CIccTagDateTime, CIccTagDict, CIccTagEmbeddedHeightImage, CIccTagEmbeddedNormalImage, CIccTagEmbeddedProfile, CIccTagFixedNum< T, Tsig >, CIccTagFloatNum< T, Tsig >, CIccTagGamutBoundaryDesc, CIccTagLut16, CIccTagLut8, CIccTagLutAtoB, CIccTagMeasurement, CIccTagMultiLocalizedUnicode, CIccTagMultiProcessElement, CIccTagNamedColor2, CIccTagNum< T, Tsig >, CIccTagParametricCurve, CIccTagProfileSeqDesc, CIccTagProfileSequenceId, CIccTagResponseCurveSet16, CIccTagSegmentedCurve, CIccTagSignature, CIccTagSparseMatrixArray, CIccTagSpectralDataInfo, CIccTagSpectralViewingConditions, CIccTagStruct, CIccTagText, CIccTagTextDescription, CIccTagUnknown, CIccTagUtf16Text, CIccTagUtf8Text, CIccTagViewingConditions, CIccTagXYZ, and CIccTagZipUtf8Text.
Definition at line 211 of file IccTagBasic.h.
icUInt32Number CIccTag::m_nReserved |
Definition at line 235 of file IccTagBasic.h.
Referenced by CIccTagMultiProcessElement::CIccTagMultiProcessElement(), CIccTagMultiProcessElement::operator=(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlArray::ParseXml(), CIccTagArray::Read(), CIccTagDict::Read(), CIccTagEmbeddedProfile::Read(), CIccTagGamutBoundaryDesc::Read(), CIccTagLut16::Read(), CIccTagLut8::Read(), CIccTagLutAtoB::Read(), CIccTagProfileSequenceId::Read(), CIccTagStruct::Read(), CIccTagArray::Write(), CIccTagDict::Write(), CIccTagEmbeddedProfile::Write(), CIccTagGamutBoundaryDesc::Write(), CIccTagLut16::Write(), CIccTagLut8::Write(), CIccTagLutAtoB::Write(), CIccTagProfileSequenceId::Write(), and CIccTagStruct::Write().