# xapian/dbfactory.h File Reference

Factory functions for constructing Database and WritableDatabase objects. More...

## Namespaces

namespace | Xapian
| The Xapian namespace contains public interfaces for the Xapian library.

namespace | Xapian::Auto
| Database factory functions which determine the database type automatically.

namespace | Xapian::InMemory
| Database factory functions for the inmemory backend.

namespace | Xapian::Brass
| Database factory functions for the brass backend.

namespace | Xapian::Chert
| Database factory functions for the chert backend.

namespace | Xapian::Flint
| Database factory functions for the flint backend.

namespace | Xapian::Remote
| Database factory functions for the remote backend.

## Functions

Database | Xapian::Auto::open_stub (const std::string &file)
| Construct a Database object for a stub database file.
WritableDatabase | Xapian::Auto::open_stub (const std::string &file, int action)
| Construct a WritableDatabase object for a stub database file.
WritableDatabase | Xapian::InMemory::open ()
| Construct a WritableDatabase object for a new, empty InMemory database.
Database | Xapian::Brass::open (const std::string &dir)
| Construct a Database object for read-only access to a Brass database.
WritableDatabase | Xapian::Brass::open (const std::string &dir, int action, int block_size=8192)
| Construct a Database object for update access to a Brass database.
Database | Xapian::Chert::open (const std::string &dir)
| Construct a Database object for read-only access to a Chert database.
WritableDatabase | Xapian::Chert::open (const std::string &dir, int action, int block_size=8192)
| Construct a Database object for update access to a Chert database.
Database | Xapian::Flint::open (const std::string &dir)
| Construct a Database object for read-only access to a Flint database.
WritableDatabase | Xapian::Flint::open (const std::string &dir, int action, int block_size=8192)
| Construct a Database object for update access to a Flint database.
Database | Xapian::Remote::open (const std::string &host, unsigned int port, Xapian::timeout timeout=10000, Xapian::timeout connect_timeout=10000)
| Construct a Database object for read-only access to a remote database accessed via a TCP connection.
WritableDatabase | Xapian::Remote::open_writable (const std::string &host, unsigned int port, Xapian::timeout timeout=0, Xapian::timeout connect_timeout=10000)
| Construct a WritableDatabase object for update access to a remote database accessed via a TCP connection.
Database | Xapian::Remote::open (const std::string &program, const std::string &args, Xapian::timeout timeout=10000)
| Construct a Database object for read-only access to a remote database accessed via a program.
WritableDatabase | Xapian::Remote::open_writable (const std::string &program, const std::string &args, Xapian::timeout timeout=0)
| Construct a WritableDatabase object for update access to a remote database accessed via a program.

## Detailed Description

Factory functions for constructing Database and WritableDatabase objects.