namespace stldb {
template<typename void_alloc_type> class commit_buffer_t;
}
STLDB_DATABASE_CONFIG_
namespace stldb {
template<typename ManagedRegionType> class container_proxy_base;
template<typename ManagedRegionType, typename ContainerT>
class container_proxy;
template<typename ManagedRegionType, typename K, typename V, typename Pred,
typename Alloc>
class container_proxy<ManagedRegionType, boost::interprocess::map< K, V, Pred, Alloc >>;
template<typename ManagedRegionType, typename K, typename V, typename Pred,
typename Alloc>
class container_proxy<ManagedRegionType, std::map< K, V, Pred, Alloc >>;
}
typedef boost::archive::binary_iarchive boost_iarchive_t;
STLDB_CONCURRENT_TRANS_ITERATOR_H
namespace stldb {
namespace concurrent {
template<typename container_t, typename base_iterator, typename lock_type>
class trans_assoc_iterator;
template<typename container_t, typename base_iterator, typename lock_type>
bool operator==(const trans_assoc_iterator< container_t, base_iterator, lock_type > & larg,
const trans_assoc_iterator< container_t, base_iterator, lock_type > & rarg);
template<typename container_t, typename base_iterator, typename lock_type>
bool operator==(const trans_assoc_iterator< container_t, base_iterator, lock_type > & larg,
const base_iterator & rarg);
template<typename container_t, typename base_iterator, typename lock_type>
bool operator==(const base_iterator & larg,
const trans_assoc_iterator< container_t, base_iterator, lock_type > & rarg);
template<typename container_t, typename base_iterator, typename lock_type>
bool operator!=(const trans_assoc_iterator< container_t, base_iterator, lock_type > & larg,
const trans_assoc_iterator< container_t, base_iterator, lock_type > & rarg);
template<typename container_t, typename base_iterator, typename lock_type>
bool operator!=(const trans_assoc_iterator< container_t, base_iterator, lock_type > & larg,
const base_iterator & rarg);
template<typename container_t, typename base_iterator, typename lock_type>
bool operator!=(const base_iterator & larg,
const trans_assoc_iterator< container_t, base_iterator, lock_type > & rarg);
}
}namespace std {
}
STLDB_CONCURRENT_TRANS_MAP_H
namespace stldb {
template<typename ManagedRegionType, typename K, typename V, typename Pred,
typename Allocator, typename mutex_family, int picket_lock_size>
class container_proxy<ManagedRegionType, concurrent::trans_map< K, V, Pred, Allocator, mutex_family, picket_lock_size >>;
namespace concurrent {
template<typename K, typename V, typename Comparator = std::less<K>,
typename Allocator = boost::interprocess::allocator<std::pair<const K, V>, typename boost::interprocess::managed_mapped_file::segment_manager>,
typename mutex_family = stldb::bounded_mutex_family,
int picket_lock_size = 31>
class trans_map;
}
}
typedef boost::archive::binary_iarchive boost_iarchive_t;
template<typename CharT, typename Traits, typename Alloc1, typename Alloc2>
bool operator==(const std::basic_string< CharT, Traits, Alloc1 > & str1,
const boost::interprocess::basic_string< CharT, Traits, Alloc2 > & str2);
template<typename CharT, typename Traits, typename Alloc1, typename Alloc2>
bool operator==(const boost::interprocess::basic_string< CharT, Traits, Alloc1 > & str2,
const std::basic_string< CharT, Traits, Alloc2 > & str1);
template<typename CharT, typename Traits, typename Alloc1, typename Alloc2>
bool operator!=(const std::basic_string< CharT, Traits, Alloc1 > & str1,
const boost::interprocess::basic_string< CharT, Traits, Alloc2 > & str2);
template<typename CharT, typename Traits, typename Alloc1, typename Alloc2>
bool operator!=(const boost::interprocess::basic_string< CharT, Traits, Alloc1 > & str2,
const std::basic_string< CharT, Traits, Alloc2 > & str1);
namespace boost {
namespace serialization {
template<typename Archive, typename CharT, typename CharTraits,
typename AllocType>
void save(Archive & ar,
const boost::interprocess::basic_string< CharT, CharTraits, AllocType > & s,
unsigned int version);
template<typename Archive, typename CharT, typename CharTraits,
typename AllocType>
void load(Archive & ar,
boost::interprocess::basic_string< CharT, CharTraits, AllocType > & s,
unsigned int version);
template<typename Archive, typename CharT, typename CharTraits,
typename AllocType>
void serialize(Archive & ar,
boost::interprocess::basic_string< CharT, CharTraits, AllocType > & t,
const unsigned int file_version);
template<typename Archive, typename CharT, typename CharTraits,
typename AllocType>
void save(Archive & ar,
const std::basic_string< CharT, CharTraits, AllocType > & s,
unsigned int version);
template<typename Archive, typename CharT, typename CharTraits,
typename AllocType>
void load(Archive & ar,
std::basic_string< CharT, CharTraits, AllocType > & s,
unsigned int version);
template<typename Archive, typename CharT, typename CharTraits,
typename AllocType>
void serialize(Archive & ar,
std::basic_string< CharT, CharTraits, AllocType > & t,
const unsigned int file_version);
}
}
STLDB_TRANS_ITERATOR_H
namespace stldb {
template<typename container_t, typename base_iterator>
class trans_assoc_iterator;
template<typename container_t, typename base_iterator>
bool operator==(const trans_assoc_iterator< container_t, base_iterator > & larg,
const trans_assoc_iterator< container_t, base_iterator > & rarg);
template<typename container_t, typename base_iterator>
bool operator==(const trans_assoc_iterator< container_t, base_iterator > & larg,
const base_iterator & rarg);
template<typename container_t, typename base_iterator>
bool operator==(const base_iterator & larg,
const trans_assoc_iterator< container_t, base_iterator > & rarg);
template<typename container_t, typename base_iterator>
bool operator!=(const trans_assoc_iterator< container_t, base_iterator > & larg,
const trans_assoc_iterator< container_t, base_iterator > & rarg);
template<typename container_t, typename base_iterator>
bool operator!=(const trans_assoc_iterator< container_t, base_iterator > & larg,
const base_iterator & rarg);
template<typename container_t, typename base_iterator>
bool operator!=(const base_iterator & larg,
const trans_assoc_iterator< container_t, base_iterator > & rarg);
}
STLDB_TRANS_MAP_H
namespace stldb {
template<typename K, typename V, typename Comparator = std::less<K>,
typename Allocator = boost::interprocess::allocator<std::pair<const K, V>, typename boost::interprocess::managed_mapped_file::segment_manager>,
typename mutex_family = stldb::bounded_mutex_family>
class trans_map;
template<typename ManagedRegionType, typename K, typename V, typename Pred,
typename Allocator, typename mutex_family>
class container_proxy<ManagedRegionType, trans_map< K, V, Pred, Allocator, mutex_family >>;
}
typedef boost::archive::binary_iarchive boost_iarchive_t;
STLDB_TRANSENTRY_H
namespace stldb {
template<typename T> class TransEntry;
enum TransactionalOperations { No_op = 0, Lock_op = 1, Insert_op,
Update_op, Delete_op, Clear_op, Swap_op };
}
namespace stldb {
template<typename T, typename Alloc,
typename Lock = boost::interprocess::interprocess_upgradable_mutex,
typename CondVar = boost::interprocess::interprocess_condition>
class trans_vector;
}
namespace stldb {
template<typename void_allocator_t, typename mutex_t> struct DatabaseInfo;
template<typename ManagedRegionType> class Database;
}
namespace stldb {
struct log_header;
BOOST_STLDB_DECL uint32_t adler(const uint8_t * data, std::size_t len);
}
namespace stldb {
template<typename ManagedRegionType> class recovery_manager;
}
typedef boost::archive::binary_iarchive boost_iarchive_t;
namespace stldb {
template<typename T, typename mutex_type, int NumLocks = 31>
class picket_lock_set;
}
STLDB_TRACE(lvl, msg)
namespace stldb {
class tracer;
class tracing;
class cerr_tracer;
enum trace_level_t { none_e = 0, severe_e, error_e, warning_e, info_e,
fine_e, finer_e, finest_e };
}