Open Search
    IO

    Detailed Description

    Classes

    class  ReadArchiveInterface
     
    class  WriteArchiveInterface
     
    class  IoBrowseInterface
     
    class  ResolveInterface
     
    class  IoConnectionInterface
     
    class  IoHandlerInterface
     
    class  IoMemoryInterface
     
    class  IoDualInOutputStreamInterface
     
    class  IoPipeInOutputStreamInterface
     
    class  UrlOrStream< STREAM >
     
    class  IoErrorInterface
     
    class  FileFormatErrorInterface
     
    class  UnknownFileSizeErrorInterface
     
    class  BaseStreamInterface
     
    class  InputStreamInterface
     
    class  OutputStreamInterface
     
    class  InOutputStreamInterface
     
    class  LexerInterface
     
    class  StringEncodingInterface
     
    class  StringDecodingInterface
     
    class  UrlInterface
     
    class  Url
     
    class  IoFileOutputHelper
     
    class  IoFileInputHelper
     
    class  IoXmlNodeInterface
     
    class  IoXmlParser
     
    class  SourceControlChangeEntry
     
    class  SourceControlInterface
     
    class  SmtpErrorInterface
     
    struct  SmtpReceiver
     
    class  SmtpMailInterface
     

    Macros

    #define REGISTER_STRINGENCODING(EXTENSION, CATEGORY, IDSYM, IMPLCLASS)
     
    #define REGISTER_STRINGENCODING_TEMPLATE(EXTENSION, CATEGORY, IDSYM, IMPLCLASS)
     
    #define MAXON_DECLARATION_STRINGENCODING(IDSTR, IDSYM)
     
    #define MM_MediaText
     
    #define MM_MediaImage
     
    #define MM_MediaAudio
     
    #define MM_MediaVideo
     
    #define MM_MediaApplication
     
    #define MM_MediaMultiPart
     
    #define MM_MediaMessage
     
    #define MM_SubHtml
     
    #define MM_SubPlain
     
    #define MM_SubRtf
     
    #define MM_SubBinhex
     
    #define MM_SubStuffit
     
    #define MM_SubZip
     
    #define MM_SubOctet
     
    #define MM_SubPS
     
    #define MM_SubPdf
     
    #define MM_SubGif
     
    #define MM_SubJpeg
     
    #define MM_SubPng
     
    #define MM_SubTiff
     
    #define MM_SubMpeg
     
    #define MM_SubMov
     
    #define MM_SubAVI
     
    #define MM_EncodingBase64
     

    Typedefs

    using ExtractCallback = Delegate< Result< Bool >(const String &inputName, Url &outputName, IOATTRIBUTES &fileAttributes)>
     
    using PIPEHANDLE = int
     
    using UrlOrInputStream = UrlOrStream< InputStreamRef >
     
    using UrlOrOutputStream = UrlOrStream< OutputStreamRef >
     
    using UrlScheme = Id
     
    using UrlIoShowInOSDelegate = Delegate< Result< Bool >(const Url &url, IOSHOWINOSFLAGS flags)>
     
    using SCConversionFunction = Delegate< Result< Data >(const CString &val)>
     
    using SCTypeConversion = HashMap< CString, SCConversionFunction >
     

    Enumerations

    enum class  IOARCHIVESTOREMETHOD {
      STORE ,
      DEFLATE
    }
     
    enum class  IOARCHIVEEXTRACTFLAGS {
      NONE ,
      OVERWRITE_EXISTING_FILE
    }
     
    enum class  IOBROWSEFLAGS {
      NONE ,
      IS_DIRECTORY ,
      IS_BUNDLE ,
      IS_READONLY ,
      IS_HIDDEN ,
      SUPPORT_REVISIONS ,
      IS_LINK ,
      IS_ENCRYPTED ,
      IS_DELETED ,
      IS_INVISIBLE
    }
     
    enum class  LEXERSYMBOL : UChar {
      NONE ,
      ILLEGAL ,
      ENDOFFILE ,
      IDENTIFIER ,
      STRING ,
      STRINGCHR ,
      NUMBER ,
      NEWLINE ,
      CURLYBRACKET_OPEN ,
      CURLYBRACKET_CLOSE ,
      PARENTHESE_OPEN ,
      PARENTHESE_CLOSE ,
      SQUAREBRACKET_OPEN ,
      SQUAREBRACKET_CLOSE ,
      SLASH ,
      EQUAL ,
      COMMA ,
      SEMICOLON ,
      COLON ,
      PLUS ,
      TILDE ,
      PREPROCESSOR ,
      MULTIPLY ,
      PIPE ,
      AMPERSAND ,
      OPERATOR
    }
     
    enum class  LEXERSYMBOLFLAGS {
      NONE ,
      NO_NUMBER ,
      ALLOWSTRINGS ,
      MINUS_OPERATOR
    }
     
    enum class  LEXERINITFLAGS {
      NONE ,
      NEED_EOL ,
      REWIND_WHEN_DONE ,
      ALLOW_DOLLAR_IDENT ,
      ALLOW_AT_IDENT ,
      NON_ASCII_IS_IDENT ,
      HASH_COMMENTS ,
      ESCAPE_IN_SINGLE_QUOTED ,
      C_ESCAPE_SEQUENCES ,
      DOUBLEQUOTEESCAPE ,
      SPACESCOMPATIBILITY ,
      C4DSTRCOMPATIBILITY
    }
     
    enum class  GETBROWSEITERATORFLAGS {
      NONE ,
      NOERRORONOPEN ,
      RESOLVEPATHS
    }
     
    enum class  CONVERTTOUINAMEFLAGS {
      NONE ,
      NAMEONLY ,
      DIRECTORYONLY ,
      ADDVERSION ,
      CLEARSUFFIX ,
      DONTADDDATABASE
    }
     
    enum class  MEDIA {
      UNKNOWN ,
      TEXT ,
      IMAGE ,
      AUDIO ,
      VIDEO ,
      APP ,
      MULTI
    }
     
    enum class  MEDIASUB {
      UNKNOWN ,
      HTML ,
      HTML_PLAIN ,
      GIF ,
      JPEG ,
      PNG ,
      TIFF ,
      MPEG ,
      QUICKTIME ,
      X_MSVIDEO ,
      RTF ,
      MAC_BINHEX40 ,
      X_STUFFIT ,
      ZIP ,
      OCTET_STREAM ,
      POSTSCRIPT ,
      PDF
    }
     
    enum class  SMTPRECEIVERFIELD : UChar {
      TO ,
      CC ,
      BCC
    }
     

    Functions

    enum maxon::IOARCHIVESTOREMETHOD MAXON_ENUM_LIST (IOARCHIVESTOREMETHOD)
     
    enum maxon::IOARCHIVEEXTRACTFLAGS MAXON_ENUM_FLAGS (IOARCHIVEEXTRACTFLAGS)
     
     MAXON_REGISTRY (Class< ReadArchiveRef >, ReadArchiveClasses, "net.maxon.registry.readarchiveclasses")
     
     MAXON_REGISTRY (Class< WriteArchiveRef >, WriteArchiveClasses, "net.maxon.registry.writearchiveclasses")
     
    enum maxon::IOBROWSEFLAGS MAXON_ENUM_FLAGS (IOBROWSEFLAGS, "net.maxon.datatype.enum.iobrowseflags")
     
     MAXON_DECLARATION (Class< IoBrowseRef >, IoBrowseBaseClass, "net.maxon.class.iobrowsebase")
     
     MAXON_DECLARATION (Class< IoConnectionRef >, IoConnectionBaseClass, "net.maxon.class.ioconnectionbase")
     
     MAXON_DECLARATION (Class< IoConnectionRef >, IoConnectionFileClass, "net.maxon.class.ioconnectionfile")
     
     MAXON_REGISTRY (IoHandler, IoHandlers, "net.maxon.registry.iohandlers")
     
     MAXON_DECLARATION (Class< IoHandler >, IoHandlerObjectBaseClass, "net.maxon.class.iohandlerobjectbase")
     
     MAXON_DECLARATION (Class< IoHandler >, IoHandlerObjectFileClass, "net.maxon.class.iohandlerobjectfile")
     
     MAXON_DECLARATION (Class< IoDualInOutputStreamRef >, InOutputStreamDualClass, "net.maxon.class.inoutputstreamdual")
     
     MAXON_DECLARATION (Class< IoError >, IoErrorObjectClass, "net.maxon.class.ioerrorobject")
     
     MAXON_DECLARATION (Class< InputStreamRef >, InputStreamBaseClass, "net.maxon.class.inputstreambase")
     
     MAXON_DECLARATION (Class< OutputStreamRef >, OutputStreamBaseClass, "net.maxon.class.outputstreambase")
     
     MAXON_DECLARATION (Class< InOutputStreamRef >, InOutputStreamBaseClass, "net.maxon.class.inoutputstreambase")
     
     MAXON_DECLARATION (Class< InputStreamRef >, InputStreamDecoratorBaseClass, "net.maxon.class.inputstreamdecorator")
     
     MAXON_DECLARATION (Class< OutputStreamRef >, OutputStreamDecoratorBaseClass, "net.maxon.class.outputstreamdecorator")
     
     MAXON_DECLARATION (Class< InOutputStreamRef >, InOutputStreamDecoratorBaseClass, "net.maxon.class.inoutputstreamdecorator")
     
    Result< IntInt64ToInt (Int64 value)
     
    enum maxon::LEXERSYMBOL UChar MAXON_ENUM_LIST (LEXERSYMBOL)
     
    enum maxon::LEXERSYMBOLFLAGS MAXON_ENUM_FLAGS (LEXERSYMBOLFLAGS)
     
    enum maxon::LEXERINITFLAGS MAXON_ENUM_FLAGS (LEXERINITFLAGS)
     
     MAXON_REGISTRY (StringEncodingRef, StringEncodings, "net.maxon.registry.stringencodings")
     
     MAXON_REGISTRY (StringDecodingRef, StringDecodings, "net.maxon.registry.stringdecodings")
     
    class IoConnectionRef MAXON_FORWARD ("maxon/ioconnection.h")
     
    class OutputStreamRef MAXON_FORWARD ("maxon/iostreams.h")
     
    class IoBrowseRef MAXON_FORWARD ("maxon/iobrowse.h")
     
    class UniversalDateTime MAXON_FORWARD ("maxon/datetime.h")
     
    enum maxon::GETBROWSEITERATORFLAGS MAXON_ENUM_FLAGS (GETBROWSEITERATORFLAGS)
     
    enum maxon::CONVERTTOUINAMEFLAGS MAXON_ENUM_FLAGS (CONVERTTOUINAMEFLAGS)
     
     MAXON_REGISTRY (UrlIoShowInOSDelegate, UrlIoShowInOSRegistry, "net.maxon.registry.urlioshowinos")
     
     MAXON_DATATYPE (SourceControlChangeEntry, "net.maxon.sourcecontrolchangeentry")
     
    enum maxon::MEDIA MAXON_ENUM_LIST (MEDIA)
     
    enum maxon::MEDIASUB MAXON_ENUM_LIST (MEDIASUB)
     
    enum maxon::SMTPRECEIVERFIELD UChar MAXON_ENUM_LIST (SMTPRECEIVERFIELD)
     
    MAXON_FUNCTION Result< Urloperator+ (const String &s) const
     
    MAXON_FUNCTION Result< Urloperator+ (const Url &s) const
     

    Variables

    static const Id URLSCHEME_HANDLER
     
    static const Id URLSCHEME_FILESYSTEM
     
    static const Id URLSCHEME_AUTHORITY
     
    static const Id URLSCHEME_RELATIVE
     
    static const Id URLSCHEME_VOLUME
     
    static const Id URLSCHEME_NETWORK
     
    static const Id URLSCHEME_STORAGE
     
    static const Id URLSCHEME_ZIPFILE
     
    static const Id URLSCHEME_GZIPFILE
     
    static const Id URLSCHEME_MEMORY
     
    static const Id URLSCHEME_TCP
     
    static const Id URLSCHEME_WS
     
    static const Id URLSCHEME_WSS
     
    static const Id URLSCHEME_HTTP
     
    static const Id URLSCHEME_HTTPS
     
    static const Id URLSCHEME_FTP
     
    static const Id URLSCHEME_SFTP
     
    static const Id URLSCHEME_PERFORCE
     
    static const Id URLSCHEME_CRYPTOFILE
     
    static const Id URLSCHEME_CACHE
     
    static const Id URLSCHEME_PIPE
     
    static const Id URLSCHEME_STDOUT
     
    static const Id URLSCHEME_STDERR
     
    static const Id URLSCHEME_STDIN
     
    static const Id URLSCHEME_APK_ASSET
     
    static const Id URLSCHEME_MEMORYFILESTRUCT
     
    static const Id URLSCHEME_RAMDISK
     

    Macro Definition Documentation

    ◆ REGISTER_STRINGENCODING

    #define REGISTER_STRINGENCODING (   EXTENSION,
      CATEGORY,
      IDSYM,
      IMPLCLASS 
    )

    This Macro can be used to register an implementation of a stream en-/decoder.

    Parameters
    [in]EXTENSIONRegistry to extend. (e.g. StringEncodings or StringDecodings).
    [in]CATEGORYEncoder or Decoder.
    [in]IDSTRLowercase string with the id to be registered. e.g. "utf8".
    [in]IDSYMMixed case id with the id to be registered. e.g. Utf8.
    [in]IMPLCLASSImplementation class name.

    ◆ REGISTER_STRINGENCODING_TEMPLATE

    #define REGISTER_STRINGENCODING_TEMPLATE (   EXTENSION,
      CATEGORY,
      IDSYM,
      IMPLCLASS 
    )

    This Macro can be used to register an implementation of a stream en-/decoder with a impl template class.

    Parameters
    [in]EXTENSIONRegistry to extend. (e.g. StringEncodings or StringDecodings).
    [in]CATEGORYEncoder or Decoder.
    [in]IDSTRLowercase string with the id to be registered. e.g. "utf8".
    [in]IDSYMMixed case id with the id to be registered. e.g. Utf8.
    [in]IMPLCLASSImplementation class name.

    ◆ MAXON_DECLARATION_STRINGENCODING

    #define MAXON_DECLARATION_STRINGENCODING (   IDSTR,
      IDSYM 
    )

    This Macro adds a given string encoding to the 3 registries: StringEncodings, StringDecodings and StreamConversions.

    Parameters
    [in]IDSTRLowercase string with the id to be registered. e.g. "utf8".
    [in]IDSYMMixed case id with the id to be registered. e.g. Utf8.

    ◆ MM_MediaText

    #define MM_MediaText

    ◆ MM_MediaImage

    #define MM_MediaImage

    ◆ MM_MediaAudio

    #define MM_MediaAudio

    ◆ MM_MediaVideo

    #define MM_MediaVideo

    ◆ MM_MediaApplication

    #define MM_MediaApplication

    ◆ MM_MediaMultiPart

    #define MM_MediaMultiPart

    ◆ MM_MediaMessage

    #define MM_MediaMessage

    ◆ MM_SubHtml

    #define MM_SubHtml

    ◆ MM_SubPlain

    #define MM_SubPlain

    ◆ MM_SubRtf

    #define MM_SubRtf

    ◆ MM_SubBinhex

    #define MM_SubBinhex

    ◆ MM_SubStuffit

    #define MM_SubStuffit

    ◆ MM_SubZip

    #define MM_SubZip

    ◆ MM_SubOctet

    #define MM_SubOctet

    ◆ MM_SubPS

    #define MM_SubPS

    ◆ MM_SubPdf

    #define MM_SubPdf

    ◆ MM_SubGif

    #define MM_SubGif

    ◆ MM_SubJpeg

    #define MM_SubJpeg

    ◆ MM_SubPng

    #define MM_SubPng

    ◆ MM_SubTiff

    #define MM_SubTiff

    ◆ MM_SubMpeg

    #define MM_SubMpeg

    ◆ MM_SubMov

    #define MM_SubMov

    ◆ MM_SubAVI

    #define MM_SubAVI

    ◆ MM_EncodingBase64

    #define MM_EncodingBase64

    Typedef Documentation

    ◆ ExtractCallback

    using ExtractCallback = Delegate<Result<Bool>(const String& inputName, Url& outputName, IOATTRIBUTES& fileAttributes)>

    Callback used by ReadArchiveRef::Extract. This callback will be called before each file is extracted. inputName is the name that is stored within the archive. outputName is the (modifyable) path at which the file will be created. fileAttributes are the (modifyable) attributes that will be set. The return value determines whether the file will be extracted or not.

    ◆ PIPEHANDLE

    using PIPEHANDLE = int

    ◆ UrlOrInputStream

    typedef UrlOrStream< InputStreamRef > UrlOrInputStream

    ◆ UrlOrOutputStream

    typedef UrlOrStream< OutputStreamRef > UrlOrOutputStream

    ◆ UrlScheme

    using UrlScheme = Id

    Provides a type alias used by maxon::Url scheme defintions.

    Schemes exposed in url.h :

    Scheme Description
    maxon::URLSCHEME_FILESYSTEM Scheme identifier for generic file system access.
    maxon::URLSCHEME_RELATIVE Scheme identifier for relative Urls which can be resolved with maxon::Url::IoNormalize.
    maxon::URLSCHEME_NETWORK Scheme identifier for handling network drive access of a system.
    maxon::URLSCHEME_STORAGE Scheme identifier for handling storage device access on a system.
    maxon::URLSCHEME_VOLUME Scheme identifier for handling local drive access of a system.
    maxon::URLSCHEME_ZIPFILE Scheme identifier for handling zip archive access.
    maxon::URLSCHEME_GZIPFILE Scheme identifier for handling zip archive access.
    maxon::URLSCHEME_APK_ASSET Scheme identifier for the Android Package (apk) file format.
    maxon::URLSCHEME_CRYPTOFILE Scheme identifier for en- and decryption streams.
    maxon::URLSCHEME_CACHE Scheme identifier for handling temporary file systems to accelerate file IO.
    maxon::URLSCHEME_MEMORY Scheme identifier for handling memory files.
    maxon::URLSCHEME_MEMORYFILESTRUCT Scheme identifier for MemoryFileStruct streams.
    maxon::URLSCHEME_RAMDISK Scheme identifier for virtual file systems in RAM.
    maxon::URLSCHEME_TCP Scheme identifier for Transmission Control Protocol (TCP) connections.
    maxon::URLSCHEME_WS Scheme identifier for WebSocket connections.
    maxon::URLSCHEME_WSS Scheme identifier for SSL encrypted WebSocket connections.
    maxon::URLSCHEME_FTP Scheme identifier for File Transfer Protocol (FTP) connections.
    maxon::URLSCHEME_SFTP Scheme identifier for Secure/SSH File Transfer Protocol (SFTP) connections.
    maxon::URLSCHEME_HTTP Scheme identifier for Hypertext Transfer Protocol (HTTP) connections.
    maxon::URLSCHEME_HTTPS Scheme identifier for Hypertext Transfer Protocol Secure (HTTPS) connections.
    maxon::URLSCHEME_PERFORCE Scheme identifier for Perforce access.
    maxon::URLSCHEME_AUTHORITY Scheme identifier for storing authority information within the type maxon::Url.
    maxon::URLSCHEME_HANDLER Scheme identifier for the default scheme implementation.
    maxon::URLSCHEME_PIPE Scheme identifier for inter-process communication.
    maxon::URLSCHEME_STDERR Scheme identifier for redirecting outputs to stderr.
    maxon::URLSCHEME_STDIN Scheme identifier for redirecting inputs to stdin.
    maxon::URLSCHEME_STDOUT Scheme identifier for redirecting outputs to stdout.

    Unexposed or outside of url.h exposed schemes:

    Scheme Description
    maxon::URLSCHEME_UNCFILESYSTEM Scheme identifier for Uniform Naming Convention (UNC) network resource access. Currently not exposed, uses the identifier "unc".
    maxon::URLSCHEME_ASSET Currently only exposed in assets.h .
    maxon::URLSCHEME_ASSETDB Currently only exposed in assets.h .
    maxon::URLSCHEME_META Currently only exposed in assets.h .
    maxon::URLSCHEME_METASQ Currently only exposed in assets.h .

    ◆ UrlIoShowInOSDelegate

    ◆ SCConversionFunction

    ◆ SCTypeConversion

    Enumeration Type Documentation

    ◆ IOARCHIVESTOREMETHOD

    enum IOARCHIVESTOREMETHOD
    strong

    Compression methods for files in archives.

    Enumerator
    STORE 

    Simply store the file without compression.

    DEFLATE 

    Deflates the file in the archive.

    ◆ IOARCHIVEEXTRACTFLAGS

    enum IOARCHIVEEXTRACTFLAGS
    strong

    Extract Flags used in ReadArchiveInterface::Extract() and ReadArchiveInterface::ExtractSingleFile().

    Enumerator
    NONE 

    No flags.

    OVERWRITE_EXISTING_FILE 

    Overwrites the file silently if it already exists in the directory.

    ◆ IOBROWSEFLAGS

    enum IOBROWSEFLAGS
    strong

    Possible flags of IoGetFlags()

    Enumerator
    NONE 

    No bit set.

    IS_DIRECTORY 

    Browsed file is a directory.

    IS_BUNDLE 

    Browsed file is a bundle (osx/ios).

    IS_READONLY 

    Browsed file is read only.

    IS_HIDDEN 

    Browsed file is hidden.

    SUPPORT_REVISIONS 

    Browsed file supports file revisions. This means requesting a browseiterator allows to browse through all revisions of the file.

    IS_LINK 

    Browsed file is a link.

    IS_ENCRYPTED 

    Browsed file is encrypted within an archive.

    IS_DELETED 

    Browsed file is deleted. E.g. when browsing a perforce depot with deleted files.

    IS_INVISIBLE 

    Browsed file should be treated as invisible for the app; this is set for any file that starts with '.' under OSX/Linux or '._' under Windows. Under Windows files can be invisible, but not hidden.

    ◆ LEXERSYMBOL

    enum LEXERSYMBOL : UChar
    strong

    Enumeration for special lexer symbols.

    Enumerator
    NONE 
    ILLEGAL 
    ENDOFFILE 

    The end of file or stream was reached.

    IDENTIFIER 

    An arbitrary symbol that is neither a string, nor a value. It may contain unicode characters.

    STRING 

    A double-quoted string.

    STRINGCHR 

    A single-quoted string.

    NUMBER 

    A numerical value.

    NEWLINE 

    '\r', '\n' or a combination of both.

    CURLYBRACKET_OPEN 

    '{' symbol.

    CURLYBRACKET_CLOSE 

    '}' symbol.

    PARENTHESE_OPEN 

    '(' symbol.

    PARENTHESE_CLOSE 

    ')' symbol.

    SQUAREBRACKET_OPEN 

    '[' symbol.

    SQUAREBRACKET_CLOSE 

    ']' symbol.

    SLASH 

    '/' symbol.

    EQUAL 

    '=' symbol.

    COMMA 

    ',' symbol.

    SEMICOLON 

    ';' symbol.

    COLON 

    ':' symbol.

    PLUS 

    '+' symbol.

    TILDE 

    '~' symbol.

    PREPROCESSOR 

    '#' symbol.

    MULTIPLY 

    '*' symbol.

    PIPE 

    '|' symbol.

    AMPERSAND 

    '&' symbol.

    OPERATOR 

    One of the operator symbols added by LexerInterface::AddOperator.

    ◆ LEXERSYMBOLFLAGS

    enum LEXERSYMBOLFLAGS
    strong

    Flags used for LexerInterface::ReadNextSymbol() and LexerInterface::ReadNextSymbolExpected()

    Enumerator
    NONE 
    NO_NUMBER 

    If set, numbers (and characters as '.' or '-') are not recognized as numbers. Instead either an LEXERSYMBOL::IDENTIFIER or LEXERSYMBOL::ILLEGAL will be generated (and GetIdent() returns the symbol).

    ALLOWSTRINGS 

    If set, strings starting with " or ' will be detected and LEXERSYMBOL::STRING is returned. GetIdent() returns the content of the string.

    MINUS_OPERATOR 

    If set, the minus symbol in front of a number will be reported as own token.

    ◆ LEXERINITFLAGS

    enum LEXERINITFLAGS
    strong

    Flags used in LexerInterface::Init()

    Enumerator
    NONE 
    NEED_EOL 

    The lexer stops at each end of line and returns LEXERSYMBOL::OPERATOR_NEWLINE whenever a newline appears.

    REWIND_WHEN_DONE 

    The lexer will rewind the stream to the last interpreted character when it is done. Only set this if you want to continue scanning the open stream. It will only work if the stream supports seeking. Also a string decoding that has an exact counterpart (e.g. StringEncodings::Utf8) needs to be passed to the lexer.

    ALLOW_DOLLAR_IDENT 

    Allow $ as part of identifiers.

    ALLOW_AT_IDENT 

    Allow @ as part of identifiers (but not as start).

    NON_ASCII_IS_IDENT 

    If set, non-ASCII characters (code > 127) are considered to be part of identifiers.

    HASH_COMMENTS 

    If set, comments are introduced by the hash character (instead of C++-like comments).

    ESCAPE_IN_SINGLE_QUOTED 

    If set, escape characters are also considered in single-quoted-strings.

    C_ESCAPE_SEQUENCES 

    If set, a subset of C escape sequences is recognized in strings (\n, \t and \r).

    DOUBLEQUOTEESCAPE 

    If set, double quotes will escape the quote char.

    SPACESCOMPATIBILITY 

    If set, a newline character will be included in the result of LexerInterface::GetLeadingSpaces.

    C4DSTRCOMPATIBILITY 

    If set, the lexer will handle the escape character in a special manner. Then the escape character works only for the following character if it matches ".

    ◆ GETBROWSEITERATORFLAGS

    Enumerator
    NONE 

    No flags specified.

    NOERRORONOPEN 

    Will return no error when opening a non existing directory but will return an empty browse handler with no entries.

    RESOLVEPATHS 

    Attempts to resolve paths by invoking IoNormalize on them. Non-resolvable paths will not halt iteration and instead be passed through.

    ◆ CONVERTTOUINAMEFLAGS

    enum CONVERTTOUINAMEFLAGS
    strong

    See ConvertToUiName() and ConvertToUiNameWithRepository()

    Enumerator
    NONE 

    Default: returns directory + name.

    NAMEONLY 

    Returns only the name without directory + optional version.

    DIRECTORYONLY 

    Returns only the directory without name.

    ADDVERSION 

    Adds the version in front of the suffix.

    CLEARSUFFIX 

    Remove the suffix from the name.

    DONTADDDATABASE 

    Don't add the Database name in brackets behind the name.

    ◆ MEDIA

    enum MEDIA
    strong

    attachment types for SmtpMailInterface

    Enumerator
    UNKNOWN 

    unknown media

    TEXT 

    mediatype text

    IMAGE 

    mediatype image

    AUDIO 

    mediatype audio

    VIDEO 

    mediatype video

    APP 

    mediatype application

    MULTI 

    mediatype multipart

    ◆ MEDIASUB

    enum MEDIASUB
    strong

    subtype of media types for SmtpMailInterface

    Enumerator
    UNKNOWN 
    HTML 
    HTML_PLAIN 
    GIF 
    JPEG 
    PNG 
    TIFF 
    MPEG 
    QUICKTIME 
    X_MSVIDEO 
    RTF 
    MAC_BINHEX40 
    X_STUFFIT 
    ZIP 
    OCTET_STREAM 
    POSTSCRIPT 
    PDF 

    ◆ SMTPRECEIVERFIELD

    enum SMTPRECEIVERFIELD : UChar
    strong
    Enumerator
    TO 
    CC 
    BCC 

    Function Documentation

    ◆ MAXON_ENUM_LIST() [1/5]

    enum maxon::IOARCHIVESTOREMETHOD maxon::MAXON_ENUM_LIST ( IOARCHIVESTOREMETHOD  )

    ◆ MAXON_ENUM_FLAGS() [1/6]

    enum maxon::IOARCHIVEEXTRACTFLAGS maxon::MAXON_ENUM_FLAGS ( IOARCHIVEEXTRACTFLAGS  )

    ◆ MAXON_REGISTRY() [1/6]

    maxon::MAXON_REGISTRY ( Class< ReadArchiveRef >  ,
    ReadArchiveClasses  ,
    "net.maxon.registry.readarchiveclasses"   
    )

    ◆ MAXON_REGISTRY() [2/6]

    maxon::MAXON_REGISTRY ( Class< WriteArchiveRef >  ,
    WriteArchiveClasses  ,
    "net.maxon.registry.writearchiveclasses"   
    )

    ◆ MAXON_ENUM_FLAGS() [2/6]

    enum maxon::IOBROWSEFLAGS maxon::MAXON_ENUM_FLAGS ( IOBROWSEFLAGS  ,
    "net.maxon.datatype.enum.iobrowseflags"   
    )

    ◆ MAXON_DECLARATION() [1/13]

    maxon::MAXON_DECLARATION ( Class< IoBrowseRef >  ,
    IoBrowseBaseClass  ,
    "net.maxon.class.iobrowsebase"   
    )

    ◆ MAXON_DECLARATION() [2/13]

    maxon::MAXON_DECLARATION ( Class< IoConnectionRef >  ,
    IoConnectionBaseClass  ,
    "net.maxon.class.ioconnectionbase"   
    )

    ◆ MAXON_DECLARATION() [3/13]

    maxon::MAXON_DECLARATION ( Class< IoConnectionRef >  ,
    IoConnectionFileClass  ,
    "net.maxon.class.ioconnectionfile"   
    )

    ◆ MAXON_REGISTRY() [3/6]

    maxon::MAXON_REGISTRY ( IoHandler  ,
    IoHandlers  ,
    "net.maxon.registry.iohandlers"   
    )

    ◆ MAXON_DECLARATION() [4/13]

    maxon::MAXON_DECLARATION ( Class< IoHandler >  ,
    IoHandlerObjectBaseClass  ,
    "net.maxon.class.iohandlerobjectbase"   
    )

    ◆ MAXON_DECLARATION() [5/13]

    maxon::MAXON_DECLARATION ( Class< IoHandler >  ,
    IoHandlerObjectFileClass  ,
    "net.maxon.class.iohandlerobjectfile"   
    )

    ◆ MAXON_DECLARATION() [6/13]

    maxon::MAXON_DECLARATION ( Class< IoDualInOutputStreamRef >  ,
    InOutputStreamDualClass  ,
    "net.maxon.class.inoutputstreamdual"   
    )

    ◆ MAXON_DECLARATION() [7/13]

    maxon::MAXON_DECLARATION ( Class< IoError >  ,
    IoErrorObjectClass  ,
    "net.maxon.class.ioerrorobject"   
    )

    ◆ MAXON_DECLARATION() [8/13]

    maxon::MAXON_DECLARATION ( Class< InputStreamRef >  ,
    InputStreamBaseClass  ,
    "net.maxon.class.inputstreambase"   
    )

    ◆ MAXON_DECLARATION() [9/13]

    maxon::MAXON_DECLARATION ( Class< OutputStreamRef >  ,
    OutputStreamBaseClass  ,
    "net.maxon.class.outputstreambase"   
    )

    ◆ MAXON_DECLARATION() [10/13]

    maxon::MAXON_DECLARATION ( Class< InOutputStreamRef >  ,
    InOutputStreamBaseClass  ,
    "net.maxon.class.inoutputstreambase"   
    )

    ◆ MAXON_DECLARATION() [11/13]

    maxon::MAXON_DECLARATION ( Class< InputStreamRef >  ,
    InputStreamDecoratorBaseClass  ,
    "net.maxon.class.inputstreamdecorator"   
    )

    ◆ MAXON_DECLARATION() [12/13]

    maxon::MAXON_DECLARATION ( Class< OutputStreamRef >  ,
    OutputStreamDecoratorBaseClass  ,
    "net.maxon.class.outputstreamdecorator"   
    )

    ◆ MAXON_DECLARATION() [13/13]

    maxon::MAXON_DECLARATION ( Class< InOutputStreamRef >  ,
    InOutputStreamDecoratorBaseClass  ,
    "net.maxon.class.inoutputstreamdecorator"   
    )

    ◆ Int64ToInt()

    Result<Int> maxon::Int64ToInt ( Int64  value)

    This function is often useful when getting a file length and need to check if the size is convertible into a memory size. depending on the platform 32 or 64 bit this might fail.

    Parameters
    [in]valueValue to cast to an Int.
    Returns
    A valid Int or an error.
    Int64 fileSize = fileStream.GetLength()) iferr_return;
    Int memSize = Int64ToInt(fileSize) iferr_return;
    if (!arr.Resize(memSize))
    return OutOfMemoryError(MAXON_SOURCE_LOCATION);
    maxon::Int64 Int64
    Definition: ge_sys_math.h:62
    maxon::Int Int
    Definition: ge_sys_math.h:64
    Result< Int > Int64ToInt(Int64 value)
    Definition: iostreams.h:308
    #define MAXON_SOURCE_LOCATION
    Definition: memoryallocationbase.h:67
    #define iferr_return
    Definition: resultbase.h:1519

    ◆ MAXON_ENUM_LIST() [2/5]

    enum maxon::LEXERSYMBOL UChar maxon::MAXON_ENUM_LIST ( LEXERSYMBOL  )

    ◆ MAXON_ENUM_FLAGS() [3/6]

    enum maxon::LEXERSYMBOLFLAGS maxon::MAXON_ENUM_FLAGS ( LEXERSYMBOLFLAGS  )

    ◆ MAXON_ENUM_FLAGS() [4/6]

    enum maxon::LEXERINITFLAGS maxon::MAXON_ENUM_FLAGS ( LEXERINITFLAGS  )

    ◆ MAXON_REGISTRY() [4/6]

    maxon::MAXON_REGISTRY ( StringEncodingRef  ,
    StringEncodings  ,
    "net.maxon.registry.stringencodings"   
    )

    ◆ MAXON_REGISTRY() [5/6]

    maxon::MAXON_REGISTRY ( StringDecodingRef  ,
    StringDecodings  ,
    "net.maxon.registry.stringdecodings"   
    )

    ◆ MAXON_FORWARD() [1/4]

    class IoConnectionRef maxon::MAXON_FORWARD ( "maxon/ioconnection.h"  )

    ◆ MAXON_FORWARD() [2/4]

    class InOutputStreamRef MAXON_FORWARD ( "maxon/iostreams.h"  )

    ◆ MAXON_FORWARD() [3/4]

    class IoBrowseRef maxon::MAXON_FORWARD ( "maxon/iobrowse.h"  )

    ◆ MAXON_FORWARD() [4/4]

    class UniversalDateTime maxon::MAXON_FORWARD ( "maxon/datetime.h"  )

    ◆ MAXON_ENUM_FLAGS() [5/6]

    enum maxon::GETBROWSEITERATORFLAGS maxon::MAXON_ENUM_FLAGS ( GETBROWSEITERATORFLAGS  )

    ◆ MAXON_ENUM_FLAGS() [6/6]

    enum maxon::CONVERTTOUINAMEFLAGS maxon::MAXON_ENUM_FLAGS ( CONVERTTOUINAMEFLAGS  )

    ◆ MAXON_REGISTRY() [6/6]

    maxon::MAXON_REGISTRY ( UrlIoShowInOSDelegate  ,
    UrlIoShowInOSRegistry  ,
    "net.maxon.registry.urlioshowinos"   
    )

    ◆ MAXON_DATATYPE()

    maxon::MAXON_DATATYPE ( SourceControlChangeEntry  ,
    "net.maxon.sourcecontrolchangeentry"   
    )

    ◆ MAXON_ENUM_LIST() [3/5]

    enum maxon::MEDIA maxon::MAXON_ENUM_LIST ( MEDIA  )

    ◆ MAXON_ENUM_LIST() [4/5]

    enum maxon::MEDIASUB maxon::MAXON_ENUM_LIST ( MEDIASUB  )

    ◆ MAXON_ENUM_LIST() [5/5]

    enum maxon::SMTPRECEIVERFIELD UChar maxon::MAXON_ENUM_LIST ( SMTPRECEIVERFIELD  )

    ◆ operator+() [1/2]

    Result< Url > operator+ ( const String s) const

    Appends a name to the Url.

    ◆ operator+() [2/2]

    Result< Url > operator+ ( const Url s) const

    Appends a relative Url to the current Url.

    Variable Documentation

    ◆ URLSCHEME_HANDLER

    const Id URLSCHEME_HANDLER
    static

    Scheme identifier for the default scheme implementation.

    See also
    UrlScheme

    ◆ URLSCHEME_FILESYSTEM

    const Id URLSCHEME_FILESYSTEM
    static

    Scheme identifier for generic file system access.

    Supports all stream types and directory browsing.

    See also
    UrlScheme

    ◆ URLSCHEME_AUTHORITY

    const Id URLSCHEME_AUTHORITY
    static

    Scheme identifier for storing authority information within the type maxon::Url.

    See also
    UrlScheme

    ◆ URLSCHEME_RELATIVE

    const Id URLSCHEME_RELATIVE
    static

    Scheme identifier for relative Urls which can be resolved with maxon::Url::IoNormalize.

    See also
    UrlScheme

    ◆ URLSCHEME_VOLUME

    const Id URLSCHEME_VOLUME
    static

    Scheme identifier for handling local drive access of a system.

    The volumes of a system can be iterated with

    for (const auto& it : maxon::Url(maxon::URLSCHEME_VOLUME).GetBrowseIterator(maxon::GETBROWSEITERATORFLAGS::NONE)) {}
    Definition: url.h:952
    static const Id URLSCHEME_VOLUME
    Scheme identifier for handling local drive access of a system.
    Definition: url.h:708
    @ NONE
    No flags specified.
    See also
    UrlScheme

    ◆ URLSCHEME_NETWORK

    const Id URLSCHEME_NETWORK
    static

    Scheme identifier for handling network drive access of a system.

    The network drives of a system can be iterated with

    for (const auto& it : maxon::Url(maxon::URLSCHEME_NETWORK).GetBrowseIterator(maxon::GETBROWSEITERATORFLAGS::NONE)) {}
    static const Id URLSCHEME_NETWORK
    Scheme identifier for handling network drive access of a system.
    Definition: url.h:714
    See also
    UrlScheme

    ◆ URLSCHEME_STORAGE

    const Id URLSCHEME_STORAGE
    static

    Scheme identifier for handling storage device access on a system.

    The storage devices of a system can be iterated with

    for (const auto& it : maxon::Url(maxon::URLSCHEME_STORAGE).GetBrowseIterator(maxon::GETBROWSEITERATORFLAGS::NONE)) {}
    static const Id URLSCHEME_STORAGE
    Scheme identifier for handling storage device access on a system.
    Definition: url.h:720
    See also
    UrlScheme

    ◆ URLSCHEME_ZIPFILE

    const Id URLSCHEME_ZIPFILE
    static

    Scheme identifier for handling zip archive access.

    Supports directory browsing and InputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_GZIPFILE

    const Id URLSCHEME_GZIPFILE
    static

    Scheme identifier for handling gzip archive access.

    Supports directory browsing and InputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_MEMORY

    const Id URLSCHEME_MEMORY
    static

    Scheme identifier for handling memory files.

    Supports InputStreams and OutputStreams. Please use maxon::IoMemoryInterface for initialization.

    See also
    UrlScheme
    IoMemoryInterface

    ◆ URLSCHEME_TCP

    const Id URLSCHEME_TCP
    static

    Scheme identifier for Transmission Control Protocol (TCP) connections.

    Supports all stream types and can be initialized in the following manners:

    streamName.SetAuthority("127.0.0.1:12345"_s);
    static const Id URLSCHEME_TCP
    Scheme identifier for Transmission Control Protocol (TCP) connections.
    Definition: url.h:753
    streamName.SetData(maxon::URLFLAGS::TCP_NETWORKCONNECTIONREF, incomingConnection);
    See also
    UrlScheme

    ◆ URLSCHEME_WS

    const Id URLSCHEME_WS
    static

    Scheme identifier for WebSocket connections.

    See also
    UrlScheme

    ◆ URLSCHEME_WSS

    const Id URLSCHEME_WSS
    static

    Scheme identifier for SSL encrypted WebSocket connections.

    See also
    UrlScheme

    ◆ URLSCHEME_HTTP

    const Id URLSCHEME_HTTP
    static

    Scheme identifier for Hypertext Transfer Protocol (HTTP) connections.

    Supports only InputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_HTTPS

    const Id URLSCHEME_HTTPS
    static

    Scheme identifier for Hypertext Transfer Protocol Secure (HTTPS) connections.

    Supports only InputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_FTP

    const Id URLSCHEME_FTP
    static

    Scheme identifier for File Transfer Protocol (FTP) connections.

    Supports InputStreams, OutputStreams and browsing.

    See also
    UrlScheme

    ◆ URLSCHEME_SFTP

    const Id URLSCHEME_SFTP
    static

    Scheme identifier for Secure/SSH File Transfer Protocol (SFTP) connections.

    Supports InputStreams, OutputStreams and browsing.

    See also
    UrlScheme

    ◆ URLSCHEME_PERFORCE

    const Id URLSCHEME_PERFORCE
    static

    Scheme identifier for Perforce access.

    Supports browsing depots and InputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_CRYPTOFILE

    const Id URLSCHEME_CRYPTOFILE
    static

    Scheme identifier for en- and decryption streams.

    Supports InputStreams, OutputStreams and InOutputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_CACHE

    const Id URLSCHEME_CACHE
    static

    Scheme identifier for handling temporary file systems to accelerate file IO.

    Supports InputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_PIPE

    const Id URLSCHEME_PIPE
    static

    Scheme identifier for inter-process communication.

    One endpoint must passed to the started process, the other one can be used for reading and writing. Supports only InOutputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_STDOUT

    const Id URLSCHEME_STDOUT
    static

    Scheme identifier for redirecting outputs to stdout.

    Supports only OutputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_STDERR

    const Id URLSCHEME_STDERR
    static

    Scheme identifier for redirecting outputs to stderr.

    Supports only OutputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_STDIN

    const Id URLSCHEME_STDIN
    static

    Scheme identifier for redirecting inputs to stdin.

    Supports only InputStreams.

    See also
    UrlScheme

    ◆ URLSCHEME_APK_ASSET

    const Id URLSCHEME_APK_ASSET
    static

    Scheme identifier for the Android Package (apk) file format.

    This scheme is only supported on Android.

    See also
    UrlScheme

    ◆ URLSCHEME_MEMORYFILESTRUCT

    const Id URLSCHEME_MEMORYFILESTRUCT
    static

    Scheme identifier for MemoryFileStruct streams.

    See also
    UrlScheme

    ◆ URLSCHEME_RAMDISK

    const Id URLSCHEME_RAMDISK
    static

    Scheme identifier for virtual file systems in RAM.

    See also
    UrlScheme