QSapecNG
 All Classes Functions Enumerations Properties
inode.h
00001 /*
00002     QSapecNG - Qt based SapecNG GUI front-end
00003     Copyright (C) 2009, Michele Caini
00004 
00005     This program is free software: you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation, either version 3 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program.  If not, see <http://www.gnu.org/licenses/>.
00017 */
00018 
00019 
00020 #ifndef INODE_H
00021 #define INODE_H
00022 
00023 
00024 #include <QtCore/QSharedData>
00025 
00026 
00027 namespace qsapecng
00028 {
00029 
00030 
00031 class Node: public QSharedData
00032 {
00033 
00034 public:
00035   Node(): QSharedData() { dirty_ = true; }
00036   Node(const Node& other)
00037   {
00038     dirty_ = other.dirty_;
00039     if(!dirty_)
00040       value_ = other.value_;
00041   }
00042 
00043   inline int value() const
00044     { return value_; }
00045   inline void setValue(int value)
00046     { value_ = value; dirty_ = false; }
00047 
00048   inline bool isValid() const
00049     { return !dirty_; }
00050   inline void setDirty()
00051     { dirty_ = true; }
00052 
00053 private:
00054   int value_;
00055   bool dirty_;
00056 
00057 };
00058 
00059 
00060 }
00061 
00062 
00063 #endif // INODE_H
 All Classes Functions Enumerations Properties