00001 00005 /* Copyright © 2009, 2010 James Legg. 00006 This program is free software: you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation, either version 3 of the License, or 00009 (at your option) any later version. 00010 */ 00011 00012 #ifndef LIBTRACK_DOCUMENT_INSERT_REMOVE_IDENTIFIER_H 00013 #define LIBTRACK_DOCUMENT_INSERT_REMOVE_IDENTIFIER_H 00014 00015 #include "DocumentDelta.h" 00016 00017 namespace Document 00018 { 00019 00024 template <class Identifier, class Object> 00025 class InsertRemoveIdentifier 00026 { 00027 public: 00029 InsertRemoveIdentifier(Object object) 00030 { 00031 } 00032 00034 InsertRemoveIdentifier(Identifier identifier) 00035 : identifier(identifier) 00036 { 00037 } 00038 00039 virtual ~InsertRemoveIdentifier() 00040 { 00041 } 00042 00044 virtual void insert(Track::Track & track, Object object) const = 0; 00045 00047 virtual Object remove(Track::Track & track) const = 0; 00048 00049 protected: 00051 Identifier identifier; 00052 }; 00053 00054 } // namespace Document 00055 00056 #endif // LIBTRACK_DOCUMENT_INSERT_REMOVE_IDENTIFIER_H
Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.