VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
simBlock.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 1999 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 /*******************************************************************************
6 ** $RCSfile: simBlock.h,v $ $Revision: 1.17 $ $State: Exp $
7 *******************************************************************************/
8 
11 
12 #ifndef DtSimBlock_H_
13 #define DtSimBlock_H_
14 
15 class DtSimBlock;
16 
17 #include <mtl/mtl.h>
18 #include <vlutil/vlString.h>
20 #include "vrfplan/stmtIndex.h"
21 
22 class DtPlan;
23 class DtSimTrigger;
24 class DtSimStatement;
26 
32 
33 #include "vrfplan/vrfplanDefines.h"
35 {
36 public:
37 
39  DtSimBlock();
40 
42  DtSimBlock(const DtString& name,
43  DtReaderWriterRegistry* parentRegistry = NULL);
44 
47  DtSimBlock(const DtSimBlock& orig);
48 
51  DtSimBlock(const DtString& name,
52  const DtSimBlock& orig,
53  DtReaderWriterRegistry* parentRegistry = NULL);
54 
57  virtual ~DtSimBlock();
58 
62  DtSimBlock& operator=(const DtSimBlock& orig);
63 
67  virtual DtSimBlock* clone(const DtString& name,
68  DtReaderWriterRegistry* parentRegistry = NULL) const = 0;
69 
72  DtSimBlock* clone() const;
73 
81  DtSimStatement* firstStmt() const;
82 
84  DtSimStatement* lastStmt() const;
85 
90  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
91  const DtVariableBindingsList& variableBindings);
92 
103  virtual void exitFromBlock(DtPlan&) = 0;
104 
109  virtual bool translateIndex(DtStmtIndex& stmtIndex) const;
110 
114  virtual void translateIndices(DtList& stmtIndexList) const;
115 
118  virtual DtSimStatement* lookupStatement(DtStmtIdType statementId);
119 
123  virtual DtRecursiveSimBlockIterator* spawnRecursiveIterator() const;
124 
127  virtual bool validate();
128 
131  virtual bool isSameBlock(DtSimBlock* rhs);
132 
133 protected:
134 
139  virtual DtListItem* addToList(DtRwListedObj* data, DtRwListedObj* after);
140 
145  virtual void cloneListFrom(const DtSimBlock& other);
146 };
147 
149 
151 {
152  return clone(name().string(), NULL);
153 }
154 
156 {
157  return (DtSimStatement*) firstObj();
158 }
159 
161 {
162  return (DtSimStatement*) lastObj();
163 }
164 
165 
166 #endif
167 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)