-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBC.h
54 lines (47 loc) · 1.19 KB
/
BC.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#pragma once
#if defined(_MT)
#define _HDF5USEDLL_ /* reqd for Multithreaded run-time library (Win32) */
#endif
#include <hdf5.h> /* HDF routines */
#define EXTERNAL extern
#include "srcinput/hstinpt.h"
#undef EXTERNAL
#include "enum_fix.h"
#include <iosfwd> // std::ostream
#include "property.h"
#include "TimeSeries.h"
class CBC : public BC
{
public:
// ctor
CBC(void);
// dtor
~CBC(void);
// copy ctor
CBC(const struct BC& src);
CBC(const CBC& src);
// copy assignment
CBC& operator=(const CBC& rhs);
// helper functions
#ifdef _DEBUG
void AssertValid(int nSim/* = 1*/) const;
void Dump(CDumpContext& dc)const;
#endif
void Serialize(bool bStoring, hid_t loc_id);
void Serialize(CArchive& ar);
void Merge(const CBC& src);
void ClearProperties(void);
bool ContainsProperties(void)const;
void RemoveMutableProperties(void);
bool RemovePropZones(void);
friend std::ostream& operator<< (std::ostream &os, const CBC &a);
private:
void InternalCopy(const struct BC& src);
void InternalDelete(void);
void InternalInit(void);
public:
CTimeSeries<Cproperty> m_bc_head;
CTimeSeries<Cproperty> m_bc_flux;
CTimeSeries<Cproperty> m_bc_solution;
static CLIPFORMAT clipFormat;
};