34 #include "E57Export.h"
102 void report(
const char *reportingFileName =
nullptr,
int reportingLineNumber = 0,
103 const char *reportingFunctionName =
nullptr, std::ostream &os = std::cout )
const;
106 const char *what()
const noexcept
override;
109 const char *sourceFileName()
const;
110 const char *sourceFunctionName()
const;
111 int sourceLineNumber()
const;
117 int srcLineNumber = 0,
const char *srcFunctionName =
nullptr );
122 std::string context_;
123 std::string sourceFileName_;
124 const char *sourceFunctionName_;
125 int sourceLineNumber_;
132 E57_DLL
void getVersions(
int &astmMajor,
int &astmMinor, std::string &libraryId );
Object thrown by E57 API functions to communicate the conditions of an error.
E57_DLL std::string errorCodeToString(ErrorCode ecode)
Get short string description of an E57 ErrorCode.
E57_DLL void getVersions(int &astmMajor, int &astmMinor, std::string &libraryId)
Get the version of ASTM E57 standard that the API implementation supports, and library id string.
ErrorCode
Numeric error identifiers used in E57Exception.
@ E57_ERROR_FILE_IS_READ_ONLY
can't modify read only file
@ E57_ERROR_TOO_MANY_READERS
too many open CompressedVectorReaders of an ImageFile
@ E57_ERROR_BUFFERS_NOT_COMPATIBLE
SourceDestBuffers not compatible with previously given ones.
@ E57_SUCCESS
operation was successful
@ E57_ERROR_CONVERSION_REQUIRED
conversion required to assign element value, but not requested
@ E57_ERROR_BUFFER_DUPLICATE_PATHNAME
duplicate pathname in CompressedVectorNode read/write
@ E57_ERROR_READ_FAILED
read() failed
@ E57_ERROR_INTERNAL
An unrecoverable inconsistent internal state was detected.
@ E57_ERROR_VALUE_OUT_OF_BOUNDS
element value out of min/max bounds
@ E57_ERROR_OPEN_FAILED
open() failed
@ E57_ERROR_BAD_NODE_DOWNCAST
bad downcast from Node to specific node type
@ E57_ERROR_SET_TWICE
attempted to set an existing child element to a new value
@ E57_ERROR_BAD_API_ARGUMENT
bad API function argument provided by user
@ E57_ERROR_BAD_FILE_SIGNATURE
file signature not "ASTM-E57"
@ E57_ERROR_WRITE_FAILED
write() failed
@ E57_ERROR_HOMOGENEOUS_VIOLATION
@ E57_ERROR_NO_BUFFER_FOR_ELEMENT
@ E57_ERROR_NODE_UNATTACHED
node is not yet attached to tree of ImageFile
@ E57_ERROR_BAD_PROTOTYPE
bad prototype in CompressedVectorNode
@ E57_ERROR_REAL64_TOO_LARGE
a 64 bit IEEE float was too large to store in a 32 bit IEEE float
@ E57_ERROR_XML_PARSER_INIT
XML parser failed to initialize.
@ E57_ERROR_BAD_CV_PACKET
a CompressedVector binary packet was bad
@ E57_ERROR_BAD_CHECKSUM
checksum mismatch, file is corrupted
@ E57_ERROR_CHILD_INDEX_OUT_OF_BOUNDS
a numerical index identifying a child was out of bounds
@ E57_ERROR_IMAGEFILE_NOT_OPEN
destImageFile is no longer open
@ E57_ERROR_BAD_XML_FORMAT
E57 primitive not encoded in XML correctly.
@ E57_ERROR_NOT_IMPLEMENTED
functionality not implemented
@ E57_ERROR_XML_PARSER
XML not well formed.
@ E57_ERROR_EXPECTING_NUMERIC
Expecting numeric representation in user's buffer, found ustring.
@ E57_ERROR_BUFFER_SIZE_MISMATCH
SourceDestBuffers not all same size.
@ E57_ERROR_BAD_CODECS
bad codecs in CompressedVectorNode
@ E57_ERROR_TOO_MANY_WRITERS
too many open CompressedVectorWriters of an ImageFile
@ E57_ERROR_BAD_FILE_LENGTH
size in file header not same as actual
@ E57_ERROR_ALREADY_HAS_PARENT
node already has a parent
@ E57_ERROR_UNKNOWN_FILE_VERSION
incompatible file version
@ E57_ERROR_INVARIANCE_VIOLATION
class invariance constraint violation in debug mode
@ E57_ERROR_READER_NOT_OPEN
CompressedVectorReader is no longer open.
@ E57_ERROR_VALUE_NOT_REPRESENTABLE
a value could not be represented in the requested type
@ E57_ERROR_BAD_CV_HEADER
a CompressedVector binary header was bad
@ E57_ERROR_CLOSE_FAILED
close() failed
@ E57_ERROR_BAD_CONFIGURATION
bad configuration string
@ E57_ERROR_DIFFERENT_DEST_IMAGEFILE
nodes were constructed with different destImageFiles
@ E57_ERROR_WRITER_NOT_OPEN
CompressedVectorWriter is no longer open.
@ E57_ERROR_SCALED_VALUE_NOT_REPRESENTABLE
@ E57_ERROR_BAD_BUFFER
bad SourceDestBuffer
@ E57_ERROR_BAD_PATH_NAME
E57 path name is not well formed.
@ E57_ERROR_EXPECTING_USTRING
Expecting string representation in user's buffer, found numeric.
@ E57_ERROR_DUPLICATE_NAMESPACE_PREFIX
namespace prefix already defined
@ E57_ERROR_LSEEK_FAILED
lseek() failed
@ E57_ERROR_PATH_UNDEFINED
E57 element path well formed but not defined.
@ E57_ERROR_DUPLICATE_NAMESPACE_URI
namespace URI already defined