![]() |
digiKam Developer Documentation
Professional Photo Management with the Power of Open Source
|
Inheritance diagram for Digikam::ItemHistoryGraphData:Public Member Functions | |
| ItemHistoryGraphData (const HistoryGraph &g) | |
| void | addHistory (const DImageHistory &givenHistory, qlonglong extraCurrent=0) |
| Vertex | addVertex (const HistoryImageId &id) |
| Vertex | addVertex (const ItemInfo &info) |
| Vertex | addVertex (const QList< HistoryImageId > &imageIds) |
| Vertex | addVertex (qlonglong id) |
| Vertex | addVertexScanned (qlonglong id) |
| QHash< Vertex, HistoryImageId::Types > | categorize () const |
| ItemHistoryGraphData & | operator= (const HistoryGraph &g) |
| int | removeNextUnresolvedVertex (int begin) |
| QList< ItemInfo > | toInfoList (const QList< Vertex > &vertices) const |
Public Member Functions inherited from Digikam::Graph< VertexProperties, EdgeProperties > | |
| Graph (const Graph &g) | |
| Graph (MeaningOfDirection dir=ParentToChild) | |
| Edge | addEdge (const Vertex &v1, const Vertex &v2) |
| Vertex | addVertex () |
| Vertex | addVertex (const VertexProperties &properties) |
| QList< Vertex > | adjacentVertices (const Vertex &v, AdjacencyFlags flags=AllEdges) const |
| void | clear () |
| Edge | edge (const Vertex &v1, const Vertex &v2) const |
| int | edgeCount () const |
| QList< VertexPair > | edgePairs () const |
| QList< Edge > | edges () const |
| QList< Edge > | edges (const Vertex &v, AdjacencyFlags flags=AllEdges) const |
| template<class T > | |
| Vertex | findVertexByProperties (const T &value) const |
| const GraphContainer & | getGraph () const |
| Accessing vertices and edges. | |
| bool | hasEdge (const Vertex &v1, const Vertex &v2) const |
| bool | hasEdges () const |
| bool | hasEdges (const Vertex &v, AdjacencyFlags flags=AllEdges) const |
| int | inDegree (const Vertex &v) const |
| bool | isConnected (const Vertex &v1, const Vertex &v2) const |
| bool | isEmpty () const |
| bool | isLeaf (const Vertex &v) const |
| bool | isRoot (const Vertex &v) const |
| QList< Vertex > | leaves () const |
| Returns all leaves, i.e. | |
| QList< Vertex > | leavesFrom (const Vertex &v) const |
| QList< Vertex > | longestPathTouching (const Vertex &v) const |
| Returns the longest path through the graph, starting from a vertex in roots(), ending on a vertex in leaves(), and passing vertex v. | |
| template<typename LessThan > | |
| QList< Vertex > | longestPathTouching (const Vertex &v, LessThan lessThan) const |
| MeaningOfDirection | meaningOfDirection () const |
| Graph & | operator= (const Graph &other) |
| int | outDegree (const Vertex &v) const |
| EdgeProperties & | properties (const Edge &e) |
| const EdgeProperties & | properties (const Edge &e) const |
| VertexProperties & | properties (const Vertex &v) |
| const VertexProperties & | properties (const Vertex &v) const |
| EdgeProperties | properties (const Vertex &v1, const Vertex &v2) const |
| void | remove (const Vertex &v) |
| QList< Vertex > | roots () const |
| Returns all roots, i.e. | |
| QList< Vertex > | rootsOf (const Vertex &v) const |
| Returns all roots of vertex v. | |
| void | setProperties (const Edge &e, const EdgeProperties &props) |
| void | setProperties (const Vertex &v, const VertexProperties &props) |
| QMap< Vertex, int > | shortestDistancesFrom (const Vertex &v) const |
| Returns the shortest distances from Vertex to all vertices in the graph. | |
| QList< Vertex > | shortestPath (const Vertex &v1, const Vertex &v2) const |
| Returns the shortestPath between id1 and id2. | |
| Vertex | source (const Edge &e) const |
| Vertex | target (const Edge &e) const |
| QList< Vertex > | topologicalSort () const |
| Returns the vertex ids of this graph, in topological order. | |
| Graph | transitiveClosure (GraphCopyFlags flags=CopyAllProperties) const |
| Returns a copy of this graph with all edges added to form the transitive closure. | |
| Graph | transitiveReduction (QList< Edge > *removedEdges=0, GraphCopyFlags flags=CopyAllProperties) const |
| Returns a copy of this graph, with edges removed so that the transitive reduction is formed. | |
| int | vertexCount () const |
| QList< Vertex > | vertices () const |
| QList< Vertex > | verticesBreadthFirst (const Vertex &givenRef=Vertex()) const |
| Orders all vertices of the graph in a breadth-first manner. | |
| template<typename LessThan > | |
| QList< Vertex > | verticesDepthFirstSorted (const Vertex &givenRef, LessThan lessThan) const |
| Orders all vertices of the graph in a depth-first manner. | |
| QList< Vertex > | verticesDominatedBy (const Vertex &v, const Vertex &root, const QList< Vertex > &presortedVertices) const |
| For a vertex v reachable from a vertex root returns all vertices dominated by v starting from root. | |
| QList< Vertex > | verticesDominatedBy (const Vertex &v, const Vertex &root, ReturnOrder order=BreadthFirstOrder) const |
| For a vertex v reachable from a vertex root, returns, in depth-first or breadth-first order, all vertices dominated by v starting from root. | |
| template<typename LessThan > | |
| QList< Vertex > | verticesDominatedByDepthFirstSorted (const Vertex &v, const Vertex &root, LessThan lessThan) const |
| For a vertex v reachable from a vertex root all vertices dominated by v starting from root. | |
Protected Member Functions | |
| void | applyProperties (Vertex &v, const QList< ItemInfo > &infos, const QList< HistoryImageId > &ids) |
Protected Member Functions inherited from Digikam::Graph< VertexProperties, EdgeProperties > | |
| void | copyProperties (Graph &other, GraphCopyFlags flags, const std::vector< vertex_t > &copiedVertices) const |
| According to the given flags and based on the map, copies vertex and edge properties from this to the other graph. | |
| QList< Edge > | edgeDifference (const Graph &other, const std::vector< vertex_t > &copiedVertices) const |
| Returns a list of edges of this graph that have been removed in other. | |
| QList< Vertex > | findZeroDegree (bool inOrOut) const |
| Finds vertex ids of all vertices with zero in- our out-degree. | |
| QList< Vertex > | findZeroDegreeFrom (const Vertex &v, bool inOrOut) const |
| QList< Vertex > | listPath (const Vertex &root, const Vertex &target, const VertexVertexMap &predecessors, MeaningOfDirection dir=ParentToChild) const |
| Get a list of vertex ids for the path from root to target, using the given predecessors. | |
| QList< Vertex > | mostRemoteNodes (const VertexIntMap &distances) const |
| Get the list of vertices with the largest value in the given distance map. | |
| QList< Vertex > | treeFromPredecessors (const Vertex &v, const VertexVertexMap &predecessors) const |
| void | treeFromPredecessorsRecursive (const Vertex &v, QList< Vertex > &vertices, const VertexVertexMap &predecessors) const |
Additional Inherited Members | |
Public Types inherited from Digikam::Graph< VertexProperties, EdgeProperties > | |
| typedef graph_traits::adjacency_iterator | adjacency_iter |
| typedef std::pair< adjacency_iter, adjacency_iter > | adjacency_vertex_range_t |
| enum | AdjacencyFlags { OutboundEdges = 1 << 0 , InboundEdges = 1 << 1 , EdgesToLeaf = 1 << 2 , EdgesToRoot = 1 << 3 , AllEdges = InboundEdges | OutboundEdges } |
| typedef boost::property_map< GraphContainer, edge_properties_t >::const_type | const_edge_property_map_t |
| typedef boost::property_map< GraphContainer, boost::vertex_index_t >::const_type | const_vertex_index_map_t |
| typedef boost::property_map< GraphContainer, vertex_properties_t >::const_type | const_vertex_property_map_t |
| typedef graph_traits::degree_size_type | degree_t |
| typedef graph_traits::edge_iterator | edge_iter |
| typedef boost::property_map< GraphContainer, edge_properties_t >::type | edge_property_map_t |
| typedef std::pair< edge_iter, edge_iter > | edge_range_t |
| typedef graph_traits::edge_descriptor | edge_t |
| typedef QPair< Edge, Edge > | EdgePair |
| typedef boost::graph_traits< GraphContainer > | graph_traits |
| a bunch of graph-specific typedefs that make the long boost types manageable. | |
| typedef boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS, boost::property< boost::vertex_index_t, int, boost::property< vertex_properties_t, VertexProperties > >, boost::property< edge_properties_t, EdgeProperties > > | GraphContainer |
| enum | GraphCopyFlags { CopyVertexProperties = 1 << 0 , CopyEdgeProperties = 1 << 1 , CopyAllProperties = CopyVertexProperties | CopyEdgeProperties } |
| typedef graph_traits::in_edge_iterator | in_edge_iter |
| typedef boost::inv_adjacency_iterator_generator< GraphContainer, vertex_t, in_edge_iter >::type | inv_adjacency_iter |
| typedef std::pair< inv_adjacency_iter, inv_adjacency_iter > | inv_adjacency_vertex_range_t |
| typedef graph_traits::out_edge_iterator | out_edge_iter |
| typedef std::pair< out_edge_iter, out_edge_iter > | out_edge_range_t |
| enum | ReturnOrder { BreadthFirstOrder , DepthFirstOrder } |
| typedef boost::property_map< GraphContainer, boost::vertex_index_t >::type | vertex_index_map_t |
| typedef graph_traits::vertex_iterator | vertex_iter |
| typedef boost::property_map< GraphContainer, vertex_properties_t >::type | vertex_property_map_t |
| typedef std::pair< vertex_iter, vertex_iter > | vertex_range_t |
| typedef graph_traits::vertex_descriptor | vertex_t |
| typedef QMapForAdaptors< Vertex, int > | VertexIntMap |
| typedef boost::associative_property_map< VertexIntMap > | VertexIntMapAdaptor |
| typedef QPair< Vertex, Vertex > | VertexPair |
| typedef QMapForAdaptors< Vertex, Vertex > | VertexVertexMap |
| typedef boost::associative_property_map< VertexVertexMap > | VertexVertexMapAdaptor |
Static Public Member Functions inherited from Digikam::Graph< VertexProperties, EdgeProperties > | |
| template<typename T > | |
| static bool | alwaysFalse (const T &, const T &) |
Static Protected Member Functions inherited from Digikam::Graph< VertexProperties, EdgeProperties > | |
| template<typename range_t > | |
| static bool | isEmptyRange (const range_t &range) |
| template<typename range_t > | |
| static QList< Edge > | toEdgeList (const range_t &range) |
| template<typename Value , typename range_t > | |
| static QList< Value > | toList (const range_t &range) |
| Returns a list of vertex ids of vertices in the given range. | |
| template<typename range_t > | |
| static QList< Vertex > | toVertexList (const range_t &range) |
Protected Attributes inherited from Digikam::Graph< VertexProperties, EdgeProperties > | |
| MeaningOfDirection | direction = ParentToChild |
| GraphContainer | graph |