1//
2// SPDX-License-Identifier: BSD-3-Clause
3// Copyright (c) Contributors to the OpenEXR Project.
4//
5
6#ifndef INCLUDED_IMF_FORWARD_H
7#define INCLUDED_IMF_FORWARD_H
8
9////////////////////////////////////////////////////////////////////
10//
11// Forward declarations for OpenEXR - correctly declares namespace
12//
13////////////////////////////////////////////////////////////////////
14
15#include "ImfExport.h"
16#include "ImfNamespace.h"
17
18OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
19
20
21// classes for basic types;
22template<class T> class IMF_EXPORT_TEMPLATE_TYPE Array;
23template<class T> class IMF_EXPORT_TEMPLATE_TYPE Array2D;
24struct IMF_EXPORT_TYPE Channel;
25class IMF_EXPORT_TYPE ChannelList;
26struct IMF_EXPORT_TYPE Chromaticities;
27
28// attributes used in headers are TypedAttributes
29class IMF_EXPORT_TYPE Attribute;
30
31class IMF_EXPORT_TYPE Header;
32
33// file handling classes
34class IMF_EXPORT_TYPE OutputFile;
35class IMF_EXPORT_TYPE TiledInputFile;
36class IMF_EXPORT_TYPE ScanLineInputFile;
37class IMF_EXPORT_TYPE InputFile;
38class IMF_EXPORT_TYPE TiledOutputFile;
39class IMF_EXPORT_TYPE DeepScanLineInputFile;
40class IMF_EXPORT_TYPE DeepScanLineOutputFile;
41class IMF_EXPORT_TYPE DeepTiledInputFile;
42class IMF_EXPORT_TYPE DeepTiledOutputFile;
43class IMF_EXPORT_TYPE AcesInputFile;
44class IMF_EXPORT_TYPE AcesOutputFile;
45class IMF_EXPORT_TYPE TiledInputPart;
46class IMF_EXPORT_TYPE TiledInputFile;
47class IMF_EXPORT_TYPE TileOffsets;
48
49// multipart file handling
50class IMF_EXPORT_TYPE GenericInputFile;
51class IMF_EXPORT_TYPE GenericOutputFile;
52class IMF_EXPORT_TYPE MultiPartInputFile;
53class IMF_EXPORT_TYPE MultiPartOutputFile;
54
55class IMF_EXPORT_TYPE InputPart;
56class IMF_EXPORT_TYPE TiledInputPart;
57class IMF_EXPORT_TYPE DeepScanLineInputPart;
58class IMF_EXPORT_TYPE DeepTiledInputPart;
59
60class IMF_EXPORT_TYPE OutputPart;
61class IMF_EXPORT_TYPE ScanLineOutputPart;
62class IMF_EXPORT_TYPE TiledOutputPart;
63class IMF_EXPORT_TYPE DeepScanLineOutputPart;
64class IMF_EXPORT_TYPE DeepTiledOutputPart;
65
66
67// internal use only
68struct InputPartData;
69struct OutputStreamMutex;
70struct OutputPartData;
71struct InputStreamMutex;
72
73// frame buffers
74
75class IMF_EXPORT_TYPE FrameBuffer;
76class IMF_EXPORT_TYPE DeepFrameBuffer;
77struct IMF_EXPORT_TYPE DeepSlice;
78
79// compositing
80class IMF_EXPORT_TYPE DeepCompositing;
81class IMF_EXPORT_TYPE CompositeDeepScanLine;
82
83// preview image
84class IMF_EXPORT_TYPE PreviewImage;
85struct IMF_EXPORT_TYPE PreviewRgba;
86
87// streams
88class IMF_EXPORT_TYPE OStream;
89class IMF_EXPORT_TYPE IStream;
90
91class IMF_EXPORT_TYPE IDManifest;
92class IMF_EXPORT_TYPE CompressedIDManifest;
93
94
95OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
96
97
98#endif // include guard
99

source code of include/OpenEXR/ImfForward.h