00001 00008 /* Copyright © 2009 James Legg. 00009 This program is free software: you can redistribute it and/or modify 00010 it under the terms of the GNU General Public License as published by 00011 the Free Software Foundation, either version 3 of the License, or 00012 (at your option) any later version. 00013 */ 00014 00015 #ifndef LIBTRACK_DOCUMENT_INSERT_EDGE_DELTA_H 00016 #define LIBTRACK_DOCUMENT_INSERT_EDGE_DELTA_H 00017 00018 #include "DocumentDelta.h" 00019 00020 #include "InsertRemoveIdentifier.h" 00021 #include "InsertDelta.h" 00022 #include "RemoveDelta.h" 00023 #include "../path/PathEdge.h" 00024 00025 namespace Document 00026 { 00027 00030 class InsertRemoveEdgeIdentifier 00031 : InsertRemoveIdentifier<std::size_t, Track::PathEdge> 00032 { 00033 public: 00034 InsertRemoveEdgeIdentifier(Track::PathEdge object); 00035 InsertRemoveEdgeIdentifier(std::size_t edge_index); 00036 00037 void insert(Track::Track & track, Track::PathEdge object) const; 00038 00039 Track::PathEdge remove(Track::Track & track) const; 00040 }; 00041 00043 typedef InsertDelta<InsertRemoveEdgeIdentifier, Track::PathEdge> InsertEdgeDelta; 00045 typedef RemoveDelta<InsertRemoveEdgeIdentifier, Track::PathEdge> RemoveEdgeDelta; 00046 00047 } // namespace Document 00048 00049 #endif // LIBTRACK_DOCUMENT_INSERT_EDGE_DELTA_H
Generated at Mon Sep 6 00:41:11 2010 by Doxygen version 1.4.7 for Racer version svn335.