casacore
tables
DataMan
MemoryStMan.h
Go to the documentation of this file.
1
//# MemoryStMan.h: Storage manager for tables using memory
2
//# Copyright (C) 2003
3
//# Associated Universities, Inc. Washington DC, USA.
4
//#
5
//# This library is free software; you can redistribute it and/or modify it
6
//# under the terms of the GNU Library General Public License as published by
7
//# the Free Software Foundation; either version 2 of the License, or (at your
8
//# option) any later version.
9
//#
10
//# This library is distributed in the hope that it will be useful, but WITHOUT
11
//# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12
//# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
13
//# License for more details.
14
//#
15
//# You should have received a copy of the GNU Library General Public License
16
//# along with this library; if not, write to the Free Software Foundation,
17
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
18
//#
19
//# Correspondence concerning AIPS++ should be addressed as follows:
20
//# Internet email: aips2-request@nrao.edu.
21
//# Postal address: AIPS++ Project Office
22
//# National Radio Astronomy Observatory
23
//# 520 Edgemont Road
24
//# Charlottesville, VA 22903-2475 USA
25
//#
26
//# $Id$
27
28
#ifndef TABLES_MEMORYSTMAN_H
29
#define TABLES_MEMORYSTMAN_H
30
31
32
//# Includes
33
#include <casacore/casa/aips.h>
34
#include <casacore/tables/DataMan/MSMBase.h>
35
36
37
namespace
casacore
{
//# NAMESPACE CASACORE - BEGIN
38
39
// <summary>
40
// Memory-based table storage manager class
41
// </summary>
42
43
// <use visibility=export>
44
45
// <reviewed reviewer="UNKNOWN" date="before2004/08/25" tests="">
46
// </reviewed>
47
48
// <prerequisite>
49
//# Classes you should understand before using this one.
50
// <li> <linkto class=DataManager>DataManager</linkto>
51
// <li> <linkto class=MSMColumn>MSMColumn</linkto>
52
// </prerequisite>
53
54
// <synopsis>
55
// MemoryStMan is a table storage manager based in memory.
56
// It holds all data in the columns in memory and deletes them
57
// when the table gets closed.
58
// It contains pointers to the underlying MSMColumn objects,
59
// which do the actual data handling.
60
//
61
// The Memory storage manager does fully support addition and removal
62
// of rows and columns.
63
//
64
// The primary use of this storage manager is for a memory-based table,
65
// but it can also be used for temporary columns in disk-based tables.
66
// When reopening a disk-based table, possible columns stored with
67
// MemoryStMan will be initialized to 0.
68
// An important issue is synchronizing tables containing MemoryStMan
69
// storage managers in case of concurrent access. Because its data are
70
// not stored on disk, there is no way to synchronize the data if another
71
// process changed data or added or deleted rows. If the number or rows
72
// has changed, rows will be added or deleted as needed. Row deletion
73
// will be done at the end of the table.
74
// </synopsis>
75
76
//# <todo asof="$DATE:$">
77
//# A List of bugs, limitations, extensions or planned refinements.
78
//# </todo>
79
80
81
class
MemoryStMan
:
public
MSMBase
82
{
83
public
:
84
// Create an Memory storage manager.
85
// Its name will be blank.
86
MemoryStMan
();
87
88
// Create an Memory storage manager with the given name.
89
// Its name can be used later in e.g. Table::addColumn to
90
// add a column to this storage manager.
91
MemoryStMan
(
const
String
& storageManagerName);
92
93
~MemoryStMan
();
94
};
95
96
97
98
}
//# NAMESPACE CASACORE - END
99
100
#endif
casacore::MemoryStMan
Memory-based table storage manager class.
Definition:
MemoryStMan.h:81
casacore::MemoryStMan::MemoryStMan
MemoryStMan()
Create an Memory storage manager.
casacore::MSMBase
Base class for memory-based table storage manager class.
Definition:
MSMBase.h:67
casacore
this file contains all the compiler specific defines
Definition:
mainpage.dox:28
casacore::MemoryStMan::~MemoryStMan
~MemoryStMan()
casacore::String
String: the storage and methods of handling collections of characters.
Definition:
String.h:223
Generated by
1.8.17