# include/xapian/dbfactory.h File Reference

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

`#include <string>`
`#include <xapian/types.h>`
`#include <xapian/deprecated.h>`
`#include <xapian/version.h>`
`#include <xapian/visibility.h>`

Go to the source code of this file.

## Namespaces

namespace | Xapian
namespace | Xapian::Auto
namespace | Xapian::InMemory
namespace | Xapian::Quartz
namespace | Xapian::Flint
namespace | Xapian::Remote

## Functions

XAPIAN_VISIBILITY_DEFAULT Database | Xapian::Auto::open_stub (const std::string &file)
| Construct a Database object for a stub database file.
XAPIAN_VISIBILITY_DEFAULT WritableDatabase | Xapian::InMemory::open ()
| Construct a WritableDatabase object for a new, empty InMemory database.
XAPIAN_VISIBILITY_DEFAULT | Xapian::Quartz::XAPIAN_DEPRECATED (Database open(const std::string &dir))
| Construct a Database object for read-only access to a Quartz database.
XAPIAN_VISIBILITY_DEFAULT | Xapian::Quartz::XAPIAN_DEPRECATED (WritableDatabase open(const std::string &dir, int action, int block_size=8192))
| Construct a Database object for update access to a Quartz database.
XAPIAN_VISIBILITY_DEFAULT Database | Xapian::Flint::open (const std::string &dir)
| Construct a Database object for read-only access to a Flint database.
XAPIAN_VISIBILITY_DEFAULT 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.
XAPIAN_VISIBILITY_DEFAULT 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.
XAPIAN_VISIBILITY_DEFAULT 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.
XAPIAN_VISIBILITY_DEFAULT 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.
XAPIAN_VISIBILITY_DEFAULT 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.