Teuchos - Trilinos Tools Package
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
parameterlist
src
Teuchos_DependencySheet.cpp
1
// @HEADER
2
// *****************************************************************************
3
// Teuchos: Common Tools Package
4
//
5
// Copyright 2004 NTESS and the Teuchos contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#include "
Teuchos_DependencySheet.hpp
"
11
12
13
namespace
Teuchos
{
14
15
16
DependencySheet::DependencySheet
():
17
name_(
"DEP_ANONYMOUS"
)
18
{}
19
20
DependencySheet::DependencySheet
(
const
std::string &name):
21
name_(name)
22
{}
23
24
void
DependencySheet::addDependency
(
RCP<Dependency>
dependency){
25
Dependency::ConstParameterEntryList
dependees = dependency->getDependees();
26
for
(
27
Dependency::ConstParameterEntryList::iterator it = dependees.begin();
28
it != dependees.end();
29
++it)
30
{
31
dependenciesMap_[*it].insert(dependency);
32
}
33
dependencies_.insert(dependency);
34
}
35
36
void
DependencySheet::removeDependency
(
RCP<Dependency>
dependency){
37
Dependency::ConstParameterEntryList
dependees = dependency->getDependees();
38
for
(
39
Dependency::ConstParameterEntryList::iterator it = dependees.begin();
40
it != dependees.end();
41
++it)
42
{
43
dependenciesMap_[*it].erase(dependency);
44
}
45
dependencies_.erase(dependency);
46
}
47
48
RCP<const DependencySheet::DepSet>
DependencySheet::getDependenciesForParameter
(
49
RCP<const ParameterEntry>
dependee)
const
50
{
51
if
(dependenciesMap_.find(dependee) != dependenciesMap_.end()){
52
return
rcpFromRef
(dependenciesMap_.find(dependee)->second);
53
}
54
return
null;
55
}
56
57
void
DependencySheet::printDeps
(std::ostream& out)
const
{
58
out <<
"Dependency Sheet: "
<< name_ << std::endl << std::endl;
59
for
(DepSet::const_iterator it =
depBegin
(); it !=
depEnd
(); ++it){
60
(*it)->print(out);
61
}
62
}
63
64
void
DependencySheet::addDependencies
(
RCP<DependencySheet>
otherSheet){
65
for
(
66
DepSet::iterator it = otherSheet->depBegin();
67
it != otherSheet->depEnd();
68
++it
69
)
70
{
71
addDependency
(*it);
72
}
73
}
74
75
76
}
//namespace Teuchos
77
Teuchos_DependencySheet.hpp
DataStructure keeping track of dependencies.
Teuchos::Dependency::ConstParameterEntryList
std::set< RCP< const ParameterEntry >, RCPConstComp > ConstParameterEntryList
A list of dependents.
Definition
Teuchos_Dependency.hpp:46
Teuchos::DependencySheet::getDependenciesForParameter
RCP< const DepSet > getDependenciesForParameter(RCP< const ParameterEntry > dependee) const
Returns a set of all the dependencies associated with a particular dependee. If no dependencies with ...
Definition
Teuchos_DependencySheet.cpp:48
Teuchos::DependencySheet::printDeps
void printDeps(std::ostream &out) const
Prints out a list of the dependencies in the DependencySheet.
Definition
Teuchos_DependencySheet.cpp:57
Teuchos::DependencySheet::addDependency
void addDependency(RCP< Dependency > dependency)
Adds a dependency to the sheet.
Definition
Teuchos_DependencySheet.cpp:24
Teuchos::DependencySheet::removeDependency
void removeDependency(RCP< Dependency > dependency)
Removes a particular dependency between two parameters.
Definition
Teuchos_DependencySheet.cpp:36
Teuchos::DependencySheet::depBegin
DepSet::iterator depBegin()
Returns an iterator to the beginning of all the dependees in the sheet.
Definition
Teuchos_DependencySheet.hpp:149
Teuchos::DependencySheet::addDependencies
void addDependencies(RCP< DependencySheet > otherSheet)
Adds a dependencies from another she to this sheet.
Definition
Teuchos_DependencySheet.cpp:64
Teuchos::DependencySheet::DependencySheet
DependencySheet()
Constructs an empty DependencySheet with the name DEP_ANONYMOUS.
Definition
Teuchos_DependencySheet.cpp:16
Teuchos::DependencySheet::depEnd
DepSet::iterator depEnd()
Definition
Teuchos_DependencySheet.hpp:158
Teuchos::RCP
Smart reference counting pointer class for automatic garbage collection.
Definition
Teuchos_RCPDecl.hpp:397
Teuchos::RCP::rcpFromRef
RCP< T > rcpFromRef(T &r)
Return a non-owning weak RCP object from a raw object reference for a defined type.
Teuchos
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...
Generated by
1.17.0