CodePorting.Translator Cs2Cpp
CodePorting.Translator.Cs2Cpp.Framework
invalidatable.h
1
2#pragma once
3
4#include "system/exceptions.h"
5
6namespace System { namespace Collections {
7
8class InvalidatableTracker; // Forward declaration
9
11class ASPOSECPP_SHARED_CLASS Invalidatable
12{
13public:
16 ASPOSECPP_SHARED_API int64_t GetState();
17
19 ASPOSECPP_SHARED_API void Invalidate();
20
21protected:
23 ASPOSECPP_SHARED_API Invalidatable();
24
25private:
27 int64_t m_state;
28};
29
31class ASPOSECPP_SHARED_CLASS InvalidatableTracker
32{
33public:
36 ASPOSECPP_SHARED_API InvalidatableTracker(Invalidatable* invalidator);
37
40 ASPOSECPP_SHARED_API bool CheckValidity() const;
41
42private:
44 Invalidatable* m_invalidator;
46 int64_t m_state;
47};
48
49}} // namespace System::Collections
Class that makes it possible to track the state of its descendants through InvalidatableTracker objec...
Definition: invalidatable.h:12
void Invalidate()
Changes the current state, invalidating all previously created trackers.
int64_t GetState()
Returns current state.
Class that implements trackers of Invalidatable objects.
Definition: invalidatable.h:32
InvalidatableTracker(Invalidatable *invalidator)
Constructs a tracker object.
bool CheckValidity() const
Checks if the state of the tracked object has changed.
Definition: db_command.h:9