# Enumerations

The following enumerations are defined in the C++ SDK.

Enumeration | Description
--- | ---
`Encoding` | An enumeration of character encodings. SeeCoded Character Sets for more information.
`Category` | File type categories (such as word processor or spreadsheet). These are listed in File Classes.
`Format` | File formats (e.g. Word, Excel, PDF etc.). These are listed in Supported Formats.
`LogicalPDFDirection` | This enumeration is used to specify paragraph ordering when filtering a PDF.
`SubFile::Type` | This enumeration lists the possible categories of subfiles.
`SummaryInfoType` | This enumeration is a return type from the `SummaryInfoItem` class.

## LogicalPDFDirection

The following table lists the values of the `LogicalPDFDirection` enumeration.

Value | Description
--- | ---
`raw` | Unstructured paragraph flow. This is the default behavior.
`ltr` | Paragraphs are output from left to right.
`rtl` | Paragraphs are ouput from right to left. This is most useful for languages with a right-to-left reading order.
`automatic` | The PDF reader determines the paragraph direction for each PDF page, and then sets the direction accordingly.

## SubFile::Type

The following table lists the values of the `SubFile::Type` enumeration.

Value | Description
--- | ---
`Main` | The subfile is at the top level of the main file. This is the default subfile type.
`Attachment` | The subfile is an attachment in a file.
`OLE` | The subfile is an embedded OLE object in a compound document.
`Folder` | The subfile is a folder or the artificial root node.
`Uncategorised_Image` | An embedded image that has not been categorized by the reader.
`Embedded_Image` | An embedded image.
`Embedded_Icon` | An icon used to represent an embedded file.
`Embedded_Content` | An image used to represent content for an embedded file. This could be an preview image of the actual content, or another representation such as an icon.
`Embedded_Preview` | A preview of an embedded file. This is usually an image that shows part of the embedded file.
`XrML` | The subfile contains the XrML that describes the RMS protection used on an RMS-encrypted main file.

NOTE: The enumeration `SubFile::Type` is a scoped enumeration, as well as being a member of class `Subfile`. Therefore, you must always refer to the values by using a full qualification. For example:

    if(subfile.type() == SubFile::Type::Folder)

NOT

    if(subfile.type() == Folder)

## SummaryInfoType

The `SummaryInfoType` enumeration has the following values:

`Bool`
`Int`
`Double`
`TargetEncodingString`
`Utf8String`
`DateTime`

NOTE: The enumerator names for `SummaryInfoType` are generic, so `SummaryInfoType` is a scoped enumeration; that is, you must always refer to the values by using a qualification with the enumeration name. For example:

    if(item.type() == SummaryInfoType::Double)

NOT

    if(item.type() == Double)

_FT_HTML5_bannerTitle.htm