Files
2024-02-27 14:55:36 +08:00

772 lines
26 KiB
C++

/***********************************************************
* File generated by the HALCON-Compiler hcomp version 20.11
* Usage: Interface to C++
*
* Software by: MVTec Software GmbH, www.mvtec.com
***********************************************************/
#ifndef HCPP_HIOSTREAM
#define HCPP_HIOSTREAM
#ifndef HCPP_NO_USE_IOSTREAM
// Inline functions for serialization from/into streams.
//
// Windows does not like passing file handles across DLL boundaries, therefore
// these functions are to be used inline in your application.
#include <iostream>
namespace HalconCpp
{
# define H_SERIAL_HEADER_SIZE 16
// Serialize object instance to output stream
void inline HSerializedItem::Serialize(std::ostream& stream)
{
Hlong size;
const char* ptr = (const char*) GetSerializedItemPtr(&size);
stream.write(ptr,size);
}
// Deserialize object instance from input stream
HSerializedItem inline HSerializedItem::Deserialize(std::istream& stream)
{
char header[H_SERIAL_HEADER_SIZE];
HUINT8 size;
char *serialized;
// Read, parse and verify header
stream.read(header,H_SERIAL_HEADER_SIZE);
serialized = DeserializeInitFromHeader(header,!stream.fail()&&!stream.eof(),&size);
// Read and verify serializated data
stream.read(serialized+H_SERIAL_HEADER_SIZE,(std::streamsize)size);
// Return serialized item
return DeserializeBufferToItem(size,!stream.fail()&& !stream.eof(),serialized);
}
// Serialize a HTemplate instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HTemplate& TemplateID)
{
TemplateID.SerializeTemplate().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HTemplate
inline std::istream& operator >> (std::istream& stream, HTemplate& TemplateID)
{
TemplateID.DeserializeTemplate(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HNCCModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HNCCModel& ModelID)
{
ModelID.SerializeNccModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HNCCModel
inline std::istream& operator >> (std::istream& stream, HNCCModel& ModelID)
{
ModelID.DeserializeNccModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HShapeModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HShapeModel& ModelID)
{
ModelID.SerializeShapeModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HShapeModel
inline std::istream& operator >> (std::istream& stream, HShapeModel& ModelID)
{
ModelID.DeserializeShapeModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HObjectModel3D instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HObjectModel3D& ObjectModel3D)
{
ObjectModel3D.SerializeObjectModel3d().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HObjectModel3D
inline std::istream& operator >> (std::istream& stream, HObjectModel3D& ObjectModel3D)
{
ObjectModel3D.DeserializeObjectModel3d(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HSurfaceModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HSurfaceModel& SurfaceModelID)
{
SurfaceModelID.SerializeSurfaceModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HSurfaceModel
inline std::istream& operator >> (std::istream& stream, HSurfaceModel& SurfaceModelID)
{
SurfaceModelID.DeserializeSurfaceModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HDeformableSurfaceModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HDeformableSurfaceModel& DeformableSurfaceModel)
{
DeformableSurfaceModel.SerializeDeformableSurfaceModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HDeformableSurfaceModel
inline std::istream& operator >> (std::istream& stream, HDeformableSurfaceModel& DeformableSurfaceModel)
{
DeformableSurfaceModel.DeserializeDeformableSurfaceModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HShapeModel3D instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HShapeModel3D& ShapeModel3DID)
{
ShapeModel3DID.SerializeShapeModel3d().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HShapeModel3D
inline std::istream& operator >> (std::istream& stream, HShapeModel3D& ShapeModel3DID)
{
ShapeModel3DID.DeserializeShapeModel3d(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HDeformableModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HDeformableModel& ModelID)
{
ModelID.SerializeDeformableModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HDeformableModel
inline std::istream& operator >> (std::istream& stream, HDeformableModel& ModelID)
{
ModelID.DeserializeDeformableModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HDescriptorModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HDescriptorModel& ModelID)
{
ModelID.SerializeDescriptorModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HDescriptorModel
inline std::istream& operator >> (std::istream& stream, HDescriptorModel& ModelID)
{
ModelID.DeserializeDescriptorModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HVariationModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HVariationModel& ModelID)
{
ModelID.SerializeVariationModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HVariationModel
inline std::istream& operator >> (std::istream& stream, HVariationModel& ModelID)
{
ModelID.DeserializeVariationModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HCalibData instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HCalibData& CalibDataID)
{
CalibDataID.SerializeCalibData().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HCalibData
inline std::istream& operator >> (std::istream& stream, HCalibData& CalibDataID)
{
CalibDataID.DeserializeCalibData(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HCameraSetupModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HCameraSetupModel& CameraSetupModelID)
{
CameraSetupModelID.SerializeCameraSetupModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HCameraSetupModel
inline std::istream& operator >> (std::istream& stream, HCameraSetupModel& CameraSetupModelID)
{
CameraSetupModelID.DeserializeCameraSetupModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HComponentTraining instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HComponentTraining& ComponentTrainingID)
{
ComponentTrainingID.SerializeTrainingComponents().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HComponentTraining
inline std::istream& operator >> (std::istream& stream, HComponentTraining& ComponentTrainingID)
{
ComponentTrainingID.DeserializeTrainingComponents(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HComponentModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HComponentModel& ComponentModelID)
{
ComponentModelID.SerializeComponentModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HComponentModel
inline std::istream& operator >> (std::istream& stream, HComponentModel& ComponentModelID)
{
ComponentModelID.DeserializeComponentModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HMeasure instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HMeasure& MeasureHandle)
{
MeasureHandle.SerializeMeasure().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HMeasure
inline std::istream& operator >> (std::istream& stream, HMeasure& MeasureHandle)
{
MeasureHandle.DeserializeMeasure(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HMatrix instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HMatrix& MatrixID)
{
MatrixID.SerializeMatrix().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HMatrix
inline std::istream& operator >> (std::istream& stream, HMatrix& MatrixID)
{
MatrixID.DeserializeMatrix(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HBarCode instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HBarCode& BarCodeHandle)
{
BarCodeHandle.SerializeBarCodeModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HBarCode
inline std::istream& operator >> (std::istream& stream, HBarCode& BarCodeHandle)
{
BarCodeHandle.DeserializeBarCodeModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HDataCode2D instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HDataCode2D& DataCodeHandle)
{
DataCodeHandle.SerializeDataCode2dModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HDataCode2D
inline std::istream& operator >> (std::istream& stream, HDataCode2D& DataCodeHandle)
{
DataCodeHandle.DeserializeDataCode2dModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HObject instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HObject& Object)
{
Object.SerializeObject().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HObject
inline std::istream& operator >> (std::istream& stream, HObject& Object)
{
Object.DeserializeObject(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HImage instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HImage& Image)
{
Image.SerializeImage().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HImage
inline std::istream& operator >> (std::istream& stream, HImage& Image)
{
Image.DeserializeImage(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HRegion instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HRegion& Region)
{
Region.SerializeRegion().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HRegion
inline std::istream& operator >> (std::istream& stream, HRegion& Region)
{
Region.DeserializeRegion(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HXLD instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HXLD& XLD)
{
XLD.SerializeXld().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HXLD
inline std::istream& operator >> (std::istream& stream, HXLD& XLD)
{
XLD.DeserializeXld(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HTuple instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HTuple& Tuple)
{
Tuple.SerializeTuple().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HTuple
inline std::istream& operator >> (std::istream& stream, HTuple& Tuple)
{
Tuple = HTuple::DeserializeTuple(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HOCRBox instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HOCRBox& OcrHandle)
{
OcrHandle.SerializeOcr().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HOCRBox
inline std::istream& operator >> (std::istream& stream, HOCRBox& OcrHandle)
{
OcrHandle.DeserializeOcr(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HOCRMlp instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HOCRMlp& OCRHandle)
{
OCRHandle.SerializeOcrClassMlp().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HOCRMlp
inline std::istream& operator >> (std::istream& stream, HOCRMlp& OCRHandle)
{
OCRHandle.DeserializeOcrClassMlp(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HOCRSvm instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HOCRSvm& OCRHandle)
{
OCRHandle.SerializeOcrClassSvm().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HOCRSvm
inline std::istream& operator >> (std::istream& stream, HOCRSvm& OCRHandle)
{
OCRHandle.DeserializeOcrClassSvm(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HOCV instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HOCV& OCVHandle)
{
OCVHandle.SerializeOcv().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HOCV
inline std::istream& operator >> (std::istream& stream, HOCV& OCVHandle)
{
OCVHandle.DeserializeOcv(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HClassBox instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HClassBox& ClassifHandle)
{
ClassifHandle.SerializeClassBox().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HClassBox
inline std::istream& operator >> (std::istream& stream, HClassBox& ClassifHandle)
{
ClassifHandle.DeserializeClassBox(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HClassMlp instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HClassMlp& MLPHandle)
{
MLPHandle.SerializeClassMlp().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HClassMlp
inline std::istream& operator >> (std::istream& stream, HClassMlp& MLPHandle)
{
MLPHandle.DeserializeClassMlp(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HClassSvm instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HClassSvm& SVMHandle)
{
SVMHandle.SerializeClassSvm().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HClassSvm
inline std::istream& operator >> (std::istream& stream, HClassSvm& SVMHandle)
{
SVMHandle.DeserializeClassSvm(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HClassGmm instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HClassGmm& GMMHandle)
{
GMMHandle.SerializeClassGmm().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HClassGmm
inline std::istream& operator >> (std::istream& stream, HClassGmm& GMMHandle)
{
GMMHandle.DeserializeClassGmm(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HDlClassifier instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HDlClassifier& DLClassifierHandle)
{
DLClassifierHandle.SerializeDlClassifier().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HDlClassifier
inline std::istream& operator >> (std::istream& stream, HDlClassifier& DLClassifierHandle)
{
DLClassifierHandle.DeserializeDlClassifier(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HDlModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HDlModel& DLModelHandle)
{
DLModelHandle.SerializeDlModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HDlModel
inline std::istream& operator >> (std::istream& stream, HDlModel& DLModelHandle)
{
DLModelHandle.DeserializeDlModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HCamPar instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HCamPar& CameraParam)
{
CameraParam.SerializeCamPar().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HCamPar
inline std::istream& operator >> (std::istream& stream, HCamPar& CameraParam)
{
CameraParam.DeserializeCamPar(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HPose instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HPose& Pose)
{
Pose.SerializePose().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HPose
inline std::istream& operator >> (std::istream& stream, HPose& Pose)
{
Pose.DeserializePose(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HHomMat2D instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HHomMat2D& HomMat2D)
{
HomMat2D.SerializeHomMat2d().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HHomMat2D
inline std::istream& operator >> (std::istream& stream, HHomMat2D& HomMat2D)
{
HomMat2D.DeserializeHomMat2d(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HHomMat3D instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HHomMat3D& HomMat3D)
{
HomMat3D.SerializeHomMat3d().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HHomMat3D
inline std::istream& operator >> (std::istream& stream, HHomMat3D& HomMat3D)
{
HomMat3D.DeserializeHomMat3d(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HQuaternion instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HQuaternion& Quaternion)
{
Quaternion.SerializeQuat().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HQuaternion
inline std::istream& operator >> (std::istream& stream, HQuaternion& Quaternion)
{
Quaternion.DeserializeQuat(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HDualQuaternion instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HDualQuaternion& DualQuaternion)
{
DualQuaternion.SerializeDualQuat().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HDualQuaternion
inline std::istream& operator >> (std::istream& stream, HDualQuaternion& DualQuaternion)
{
DualQuaternion.DeserializeDualQuat(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HSheetOfLightModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HSheetOfLightModel& SheetOfLightModelID)
{
SheetOfLightModelID.SerializeSheetOfLightModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HSheetOfLightModel
inline std::istream& operator >> (std::istream& stream, HSheetOfLightModel& SheetOfLightModelID)
{
SheetOfLightModelID.DeserializeSheetOfLightModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HMetrologyModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HMetrologyModel& MetrologyHandle)
{
MetrologyHandle.SerializeMetrologyModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HMetrologyModel
inline std::istream& operator >> (std::istream& stream, HMetrologyModel& MetrologyHandle)
{
MetrologyHandle.DeserializeMetrologyModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HClassKnn instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HClassKnn& KNNHandle)
{
KNNHandle.SerializeClassKnn().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HClassKnn
inline std::istream& operator >> (std::istream& stream, HClassKnn& KNNHandle)
{
KNNHandle.DeserializeClassKnn(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HOCRKnn instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HOCRKnn& OCRHandle)
{
OCRHandle.SerializeOcrClassKnn().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HOCRKnn
inline std::istream& operator >> (std::istream& stream, HOCRKnn& OCRHandle)
{
OCRHandle.DeserializeOcrClassKnn(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HOCRCnn instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HOCRCnn& OCRHandle)
{
OCRHandle.SerializeOcrClassCnn().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HOCRCnn
inline std::istream& operator >> (std::istream& stream, HOCRCnn& OCRHandle)
{
OCRHandle.DeserializeOcrClassCnn(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HClassTrainData instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HClassTrainData& ClassTrainDataHandle)
{
ClassTrainDataHandle.SerializeClassTrainData().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HClassTrainData
inline std::istream& operator >> (std::istream& stream, HClassTrainData& ClassTrainDataHandle)
{
ClassTrainDataHandle.DeserializeClassTrainData(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HSampleIdentifier instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HSampleIdentifier& SampleIdentifier)
{
SampleIdentifier.SerializeSampleIdentifier().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HSampleIdentifier
inline std::istream& operator >> (std::istream& stream, HSampleIdentifier& SampleIdentifier)
{
SampleIdentifier.DeserializeSampleIdentifier(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HXLDDistTrans instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HXLDDistTrans& DistanceTransformID)
{
DistanceTransformID.SerializeDistanceTransformXld().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HXLDDistTrans
inline std::istream& operator >> (std::istream& stream, HXLDDistTrans& DistanceTransformID)
{
DistanceTransformID.DeserializeDistanceTransformXld(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HTextureInspectionModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HTextureInspectionModel& TextureInspectionModel)
{
TextureInspectionModel.SerializeTextureInspectionModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HTextureInspectionModel
inline std::istream& operator >> (std::istream& stream, HTextureInspectionModel& TextureInspectionModel)
{
TextureInspectionModel.DeserializeTextureInspectionModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HStructuredLightModel instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HStructuredLightModel& StructuredLightModel)
{
StructuredLightModel.SerializeStructuredLightModel().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HStructuredLightModel
inline std::istream& operator >> (std::istream& stream, HStructuredLightModel& StructuredLightModel)
{
StructuredLightModel.DeserializeStructuredLightModel(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HHandle instance to a binary output stream
inline std::ostream& operator << (std::ostream& stream, const HHandle& Handle)
{
Handle.SerializeHandle().Serialize(stream);
return stream;
}
// Deserialize binary input stream to a HHandle
inline std::istream& operator >> (std::istream& stream, HHandle& Handle)
{
Handle.DeserializeHandle(HSerializedItem::Deserialize(stream));
return stream;
}
// Serialize a HString instance to an output stream
inline std::ostream& operator<<(std::ostream& stream, const HString& val)
{
return (stream << val.TextA());
}
#if defined(_WIN32)
// Serialize a HString instance to an output stream
inline std::wostream& operator<<(std::wostream& stream, const HString& val)
{
return (stream << val.TextW());
}
#endif
} // namespace HalconCpp
#endif // HCPP_NO_USE_IOSTREAM
#endif // HCPP_HIOSTREAM