Ipopt Documentation  
 
Loading...
Searching...
No Matches
IpTaggedObject.hpp
Go to the documentation of this file.
1// Copyright (C) 2004, 2006 International Business Machines and others.
2// All Rights Reserved.
3// This code is published under the Eclipse Public License.
4//
5// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13
6
7#ifndef __IPTAGGEDOBJECT_HPP__
8#define __IPTAGGEDOBJECT_HPP__
9
10#include "IpUtils.hpp"
11#include "IpDebug.hpp"
12#include "IpReferenced.hpp"
13#include "IpObserver.hpp"
14
15namespace Ipopt
16{
17
58{
59public:
61 typedef unsigned int Tag;
62
65 :
66 Subject()
67 {
69 }
70
72 virtual ~TaggedObject()
73 {}
74
79 Tag GetTag() const
80 {
81 return tag_;
82 }
83
89 bool HasChanged(const Tag comparison_tag) const
90 {
91 return (comparison_tag == tag_) ? false : true;
92 }
93protected:
99private:
106
108
112
119
126};
127} // namespace Ipopt
128#endif
Subject()
Default Constructor.
Tag GetTag() const
Users of TaggedObjects call this to update their own internal tags every time they perform the expens...
TaggedObject(const TaggedObject &)
Copy Constructor.
void ObjectChanged()
Objects derived from TaggedObject MUST call this method every time their internal state changes to up...
bool HasChanged(const Tag comparison_tag) const
Users of TaggedObjects call this to check if the object HasChanged since they last updated their own ...
unsigned int Tag
Type for the Tag values.
Tag tag_
The tag indicating the current state of the object.
TaggedObject()
Constructor.
void operator=(const TaggedObject &)
Default Assignment Operator.
Index cache_priority_
The index indicating the cache priority for this TaggedObject.
virtual ~TaggedObject()
Destructor.
#define IPOPTLIB_EXPORT
Definition config.h:94
This file contains a base class for all exceptions and a set of macros to help with exceptions.
ipindex Index
Type of all indices of vectors, matrices etc.
Definition IpTypes.hpp:20