VR-Forces 4.7 Class Documentation
Home
Modules
Namespaces
Classes
Files
Examples
Behavior Models
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
include
vrfutil
objectDB.h
Go to the documentation of this file.
1
/*******************************************************************************
2
** Copyright (c) 2018 MAK Technologies, Inc.
3
** All rights reserved.
4
*******************************************************************************/
5
8
11
12
#pragma once
13
14
#include <
vrfutil/vrfutilDefines.h
>
15
16
#include <vlutil/vlFilename.h>
17
18
#include <matrix/vlVector.h>
19
20
#include <boost/shared_ptr.hpp>
21
#include <boost/enable_shared_from_this.hpp>
22
#include <boost/optional.hpp>
23
24
#include <stdio.h>
25
26
class
DT_DLL_vrfutil
DtObjectDB
27
:
public
boost::enable_shared_from_this<DtObjectDB>
28
{
29
public
:
30
typedef
boost::shared_ptr<DtObjectDB>
Ptr
;
31
typedef
DtU64
Offset
;
32
33
class
Cursor
;
34
36
enum
CreateFile
{
DoNotCreate
, Create };
37
enum
EraseExisting
{ DoNotErase, Erase };
38
40
static
Ptr Make(
const
DtFilename&
filename
);
41
43
virtual
~
DtObjectDB
();
44
46
virtual
const
DtFilename&
filename
()
const
;
47
50
virtual
std::auto_ptr<Cursor> makeCursor(CreateFile, EraseExisting);
51
52
protected
:
53
explicit
DtObjectDB
(
const
DtFilename&
filename
);
54
55
const
DtFilename
myFilename
;
56
};
57
58
class
DT_DLL_vrfutil
DtObjectDB
::
Cursor
59
{
60
public
:
62
virtual
~
Cursor
();
63
67
virtual
Offset currentOffset()
const
;
68
71
virtual
void
setCurrentOffset(Offset
offset
);
72
74
virtual
bool
eof()
const
;
75
77
virtual
bool
error
()
const
;
78
80
virtual
void
flush();
81
84
virtual
bool
readBool();
85
virtual
DtInt32
readInt32();
86
virtual
DtU32 readUInt32();
87
virtual
DtU64 readUInt64();
88
virtual
DtFloat64
readFloat64();
89
virtual
DtString
readString();
90
virtual
DtVector
readVector();
92
95
virtual
void
writeBool(
bool
);
96
virtual
void
writeInt32(
DtInt32
);
97
virtual
void
writeUInt32(DtU32);
98
virtual
void
writeUInt64(DtU64);
99
virtual
void
writeFloat64(
DtFloat64
);
100
virtual
void
writeString(
const
DtString
&);
101
virtual
void
writeVector(
const
DtVector
&);
103
104
protected
:
105
friend
class
DtObjectDB
;
106
107
explicit
Cursor
(
const
DtObjectDB::Ptr
& db,
CreateFile
,
EraseExisting
);
108
109
DtObjectDB::Ptr
myDB
;
110
FILE*
myFile
;
111
};
Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (
www.mak.com
)