1
0
Fork 0
forked from blue/lmdbal

big refactoring part 1

This commit is contained in:
Blue 2023-03-20 18:37:13 +03:00
parent 6a8f67ac34
commit 19229f6c26
Signed by untrusted user: blue
GPG key ID: 9B203B252A63EE38
28 changed files with 867 additions and 795 deletions

View file

@ -14,14 +14,13 @@
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
#ifndef CORE_DATABASE_SERIALIZER_HPP
#define CORE_DATABASE_SERIALIZER_HPP
#ifndef LMDBDATABASE_SERIALIZER_HPP
#define LMDBDATABASE_SERIALIZER_HPP
#include "serializer.h"
template<class T>
DataBase::Serializer<T>::Serializer() :
LMDBDataBase::Serializer<T>::Serializer() :
bytes(),
buffer(&bytes),
stream(&buffer)
@ -30,7 +29,7 @@ DataBase::Serializer<T>::Serializer() :
}
template<class T>
DataBase::Serializer<T>::Serializer(const T& value) :
LMDBDataBase::Serializer<T>::Serializer(const T& value) :
bytes(),
buffer(&bytes),
stream(&buffer)
@ -40,19 +39,19 @@ DataBase::Serializer<T>::Serializer(const T& value) :
}
template<class T>
DataBase::Serializer<T>::~Serializer() {
LMDBDataBase::Serializer<T>::~Serializer() {
buffer.close();
}
template<class T>
MDB_val DataBase::Serializer<T>::setData(const T& value) {
MDB_val LMDBDataBase::Serializer<T>::setData(const T& value) {
clear();
_setData(value);
return getData();
}
template<class T>
T DataBase::Serializer<T>::deserialize(const MDB_val& value) {
T LMDBDataBase::Serializer<T>::deserialize(const MDB_val& value) {
clear();
bytes.setRawData((char*)value.mv_data, value.mv_size);
T result;
@ -62,19 +61,19 @@ T DataBase::Serializer<T>::deserialize(const MDB_val& value) {
}
template<class T>
void DataBase::Serializer<T>::_setData(const T& value) {
void LMDBDataBase::Serializer<T>::_setData(const T& value) {
stream << value;
}
template<class T>
void DataBase::Serializer<T>::clear() {
void LMDBDataBase::Serializer<T>::clear() {
if (buffer.pos() > 0) {
buffer.seek(0);
}
}
template<class T>
MDB_val DataBase::Serializer<T>::getData() {
MDB_val LMDBDataBase::Serializer<T>::getData() {
MDB_val val;
val.mv_size = buffer.pos();
@ -83,4 +82,4 @@ MDB_val DataBase::Serializer<T>::getData() {
return val;
}
#endif //CORE_DATABASE_SERIALIZER_HPP
#endif //LMDBDATABASE_SERIALIZER_HPP