| digiKam Developer Documentation Professional Photo Management with the Power of Open Source

Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | List of all members
Digikam::ItemHistoryGraphData Class Reference
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