|
| Volatile (const std::function< std::unique_ptr< ObjectType >(void)> &object_factory, const char *object_name=nullptr, PersistentRegistry *persistent_registry=nullptr, mutils::DeserializationManager dm={{}}) noexcept(false) |
| constructor 1 is for building a persistent<T> locally, load/create a log and register itself to a persistent registry. More...
|
|
| Volatile (Volatile &&other) noexcept(false) |
| constructor 2 is move constructor. More...
|
|
| Volatile (const std::function< std::unique_ptr< ObjectType >(void)> &object_factory, const char *object_name, std::unique_ptr< ObjectType > &wrapped_obj_ptr, std::unique_ptr< PersistLog > &log_ptr, PersistentRegistry *persistent_registry=nullptr, mutils::DeserializationManager dm={{}}) noexcept(false) |
| constructor 3 is for deserialization. More...
|
|
| Volatile (const Volatile &)=delete |
| constructor 4, the default copy constructor, is disabled More...
|
|
virtual | ~Volatile () noexcept(true) |
|
| Persistent (const std::function< std::unique_ptr< ObjectType >(void)> &object_factory, const char *object_name=nullptr, PersistentRegistry *persistent_registry=nullptr, mutils::DeserializationManager dm={{}}) noexcept(false) |
| constructor 1 is for building a persistent<T> locally, load/create a log and register itself to a persistent registry. More...
|
|
| Persistent (Persistent &&other) noexcept(false) |
| constructor 2 is move constructor. More...
|
|
| Persistent (const char *object_name, std::unique_ptr< ObjectType > &wrapped_obj_ptr, const char *log_tail=nullptr, PersistentRegistry *persistent_registry=nullptr, mutils::DeserializationManager dm={{}}) noexcept(false) |
| constructor 3 is for deserialization. More...
|
|
| Persistent (const Persistent &)=delete |
| constructor 4, the default copy constructor, is disabled More...
|
|
virtual | ~Persistent () noexcept(true) |
| destructor: release the resources More...
|
|
ObjectType & | operator* () |
|
ObjectType * | operator-> () |
| overload the '->' operator to access the wrapped object More...
|
|
const ObjectType & | getConstRef () const |
| get a const reference to the wrapped object More...
|
|
const std::string & | getObjectName () |
| get object name More...
|
|
auto | get (const Func &fun, mutils::DeserializationManager *dm=nullptr) noexcept(false) |
| get the latest Value of T. More...
|
|
std::unique_ptr< ObjectType > | get (mutils::DeserializationManager *dm=nullptr) |
| get the latest Value of T, returns a unique pointer to the object More...
|
|
auto | get (const int64_t &ver, const Func &fun, mutils::DeserializationManager *dm=nullptr) noexcept(false) |
| get a version of Value T, specified by version. More...
|
|
std::unique_ptr< ObjectType > | get (const int64_t &ver, mutils::DeserializationManager *dm=nullptr) noexcept(false) |
| get a version of value T. More...
|
|
auto | get (const HLC &hlc, const Func &fun, mutils::DeserializationManager *dm=nullptr) noexcept(false) |
| get a version of Value T, specified by HLC clock. More...
|
|
std::unique_ptr< ObjectType > | get (const HLC &hlc, mutils::DeserializationManager *dm=nullptr) noexcept(false) |
| get a version of value T. More...
|
|
auto | getByIndex (int64_t idx, const Func &fun, mutils::DeserializationManager *dm=nullptr) noexcept(false) |
| get a version of Value T. More...
|
|
std::unique_ptr< ObjectType > | getByIndex (int64_t idx, mutils::DeserializationManager *dm=nullptr) noexcept(false) |
| get a version of value T. More...
|
|
void | trim (const TKey &k) noexcept(false) |
| trim by version or index More...
|
|
void | truncate (const int64_t &ver) |
| truncate the log More...
|
|
std::unique_ptr< ObjectType > | operator[] (const int64_t ver) noexcept(false) |
| syntax sugar: get a specified version of T without DSM More...
|
|
std::unique_ptr< ObjectType > | operator[] (const HLC &hlc) noexcept(false) |
| syntax sugar: get a specified version of T without DSM More...
|
|
virtual int64_t | getNumOfVersions () noexcept(false) |
| get the number of versions excluding trimmed ones. More...
|
|
virtual int64_t | getEarliestIndex () noexcept(false) |
| get the earliest index excluding trimmed ones. More...
|
|
virtual int64_t | getEarliestVersion () noexcept(false) |
| get the earliest version excluding trimmed ones. More...
|
|
virtual int64_t | getLatestIndex () noexcept(false) |
| get the latest index excluding truncated ones. More...
|
|
virtual int64_t | getLatestVersion () noexcept(false) |
| get the lastest version excluding truncated ones. More...
|
|
virtual const int64_t | getLastPersisted () noexcept(false) |
| get the last persisted index. More...
|
|
virtual void | set (ObjectType &v, const version_t &ver, const HLC &mhlc) noexcept(false) |
| make a version with a version number and mhlc clock More...
|
|
virtual void | set (ObjectType &v, const version_t &ver) noexcept(false) |
| make a version with only a version number More...
|
|
virtual void | version (const version_t &ver) noexcept(false) |
| make a version with only a version number, using the current state. More...
|
|
virtual const int64_t | persist () noexcept(false) |
| persist till version More...
|
|
std::size_t | to_bytes (char *ret) const |
| Write this class's marshalled representation into the array found at v. More...
|
|
std::size_t | bytes_size () const |
| the size of the marshalled representation of this object. More...
|
|
void | post_object (const std::function< void(char const *const, std::size_t)> &f) const |
| Pass a pointer to a buffer containing this class's marshalled representation into the function f. More...
|
|
virtual void | ensure_registered (mutils::DeserializationManager &) |
|
void | applyLogTail (mutils::DeserializationManager *dsm, char const *v) |
|
virtual void | print_performance_stat () |
|
virtual | ~ByteRepresentable () |
|
template<typename ObjectType>
class persistent::Volatile< ObjectType >
Definition at line 601 of file Persistent.hpp.