SheafSystem  0.0.0.0
product_section_dof_iterator.h
1 
2 //
3 // Copyright (c) 2014 Limit Point Systems, Inc.
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 // http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 
18 // Interface for class product_section_dof_iterator
19 
20 #ifndef PRODUCT_SECTION_DOF_ITERATOR_H
21 #define PRODUCT_SECTION_DOF_ITERATOR_H
22 
23 #ifndef SHEAF_DLL_SPEC_H
24 #include "SheafSystem/sheaf_dll_spec.h"
25 #endif
26 
27 #ifndef SECTION_DOF_ITERATOR_H
28 #include "SheafSystem/section_dof_iterator.h"
29 #endif
30 
31 namespace fiber_bundle
32 {
33 
34 class product_section_space_schema_member;
35 
42 {
43 
44 public:
45 
46  // CANONICAL MEMBERS
47 
53 
59 
63  virtual product_section_dof_iterator& operator=(const poset_dof_iterator& xother);
64 
69 
74 
78  virtual bool is_ancestor_of(const any* other) const;
79 
83  virtual product_section_dof_iterator* clone() const;
84 
88  virtual bool invariant() const;
89 
90  // OTHER CONSTRUCTORS
91 
99  bool xis_table_dof = false,
100  int xversion = ANCHOR_VERSION);
101 
102  // ITERATOR FACET
103 
104  // Anchor is not virtual; covariant signature hides
105  // inherited version.
106 
112 
117  const product_section_space_schema_member& anchor() const;
118 
119  // DOF ITERATOR FACET
120 
121  // Item is not virtual; covariant signature hides
122  // inherited version.
123 
128 
132  const product_section_space_schema_member& item() const;
133 
137  virtual bool item_is_ancestor_of(const schema_poset_member& xmbr) const;
138 
139 protected:
140 
145  virtual void reset_item();
146 
147 };
148 
149 } // namespace fiber_bundle
150 
151 #endif // ifndef PRODUCT_SECTION_DOF_ITERATOR_H
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space...
Abstract base class with useful features for all objects.
Definition: any.h:39
Iterates in postorder over dofs of a schema member anchor. Attaches an a handle of type section_space...
Iterates in postorder over dofs of a schema member anchor. Attaches a handle of type schema_poset_mem...
Namespace for the fiber_bundles component of the sheaf system.
A client handle for a poset member which has been prepared for use as a schema.
A client handle for a poset member which has been prepared for use as a schema for a section space...