SheafSystem
0.0.0.0
postorder_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 postorder_iterator
19
20
21
#ifndef POSTORDER_ITERATOR_H
22
#define POSTORDER_ITERATOR_H
23
24
#ifndef SHEAF_DLL_SPEC_H
25
#include "SheafSystem/sheaf_dll_spec.h"
26
#endif
27
28
#ifndef FILTERED_DEPTH_FIRST_ITERATOR_H
29
#include "SheafSystem/filtered_depth_first_iterator.h"
30
#endif
31
32
namespace
sheaf
33
{
34
40
class
SHEAF_DLL_SPEC
postorder_iterator
:
public
filtered_depth_first_iterator
41
{
42
public
:
43
44
// CANONICAL MEMBERS
45
50
postorder_iterator
();
51
55
postorder_iterator
(
const
postorder_iterator
& xother);
56
60
~
postorder_iterator
();
61
65
virtual
bool
is_ancestor_of(
const
any
* other)
const
;
66
70
virtual
postorder_iterator
* clone()
const
;
71
75
bool
invariant()
const
;
76
77
// OTHER CONSTRUCTORS
78
84
postorder_iterator
(
const
abstract_poset_member
& xanchor,
85
bool
xdown,
86
bool
xstrict);
87
93
postorder_iterator
(
const
abstract_poset_member
& xanchor,
94
const
subposet
& xfilter,
95
bool
xdown,
96
bool
xstrict);
97
103
postorder_iterator
(
const
abstract_poset_member
& xanchor,
104
pod_index_type
xfilter_index,
105
bool
xdown,
106
bool
xstrict);
107
113
postorder_iterator
(
const
abstract_poset_member
& xanchor,
114
const
scoped_index
& xfilter_index,
115
bool
xdown,
116
bool
xstrict);
117
123
postorder_iterator
(
const
abstract_poset_member
& xanchor,
124
const
std::string& xfilter_name,
125
bool
xdown,
126
bool
xstrict);
127
};
128
129
}
// namespace sheaf
130
131
#endif // ifndef POSTORDER_ITERATOR_H
sheaf::subposet
A client handle for a subposet.
Definition:
subposet.h:86
sheaf::postorder_iterator
Dperecated. Use postorder_itr. Specialization of the filtered depth-first iterator which exposes the ...
Definition:
postorder_iterator.h:40
sheaf::any
Abstract base class with useful features for all objects.
Definition:
any.h:39
sheaf::scoped_index
An index within the external ("client") scope of a given id space.
Definition:
scoped_index.h:116
sheaf::pod_index_type
int_type pod_index_type
The plain old data index type.
Definition:
pod_types.h:49
sheaf
Namespace for the sheaves component of the sheaf system.
Definition:
singly_linked_list.h:37
sheaf::abstract_poset_member
An abstract client handle for a member of a poset.
Definition:
abstract_poset_member.h:164
sheaf::filtered_depth_first_iterator
Definition:
filtered_depth_first_iterator.h:76
sheaves
iterators
postorder_iterator.h
Generated on Sun Jul 9 2017 14:27:25 for SheafSystem by
1.8.13