[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'DB' (#fcl)

# TIndexDefs

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

A class to keep a list of index definitions

## Declaration

Source position: db.pas line 1066

`type TIndexDefs = class(TDefCollection)`
`public`
`constructor Create(); virtual; overload;` |  | Create a new TIndexDefs instance
`procedure Add(); overload;` |  | Add a new index definition with given name and options
`function AddIndexDef;` |  | Add a new, empty, index definition
`function Find();` |  | Find an index by name
`function FindIndexForFields();` |  | Find index definition based on field names
`function GetIndexForFields();` |  | Get index definition based on field names
`procedure Update; virtual; overload;` |  | Called whenever one of the items changes
`property Items []: TIndexDef; default; [rw]` |  | Indexed access to the index definitions
`end;`

## Inheritance

`TIndexDefs` |  | A class to keep a list of index definitions
`TDefCollection` |  | Definition collection
`TOwnedCollection`
`TCollection`
`TPersistent,IFPObserved`
`TObject`

## Description

TIndexDefs is used to keep a collection of index (sort order) definitions. It can be used by classes that provide in-memory or on-disk indexes to provide a list of available indexes.

## See also

TIndexDef |  | Index definition
TIndexDefs.Items |  | Indexed access to the index definitions