Krita Source Code Documentation
Loading...
Searching...
No Matches
KisForest.h File Reference
#include <utility>
#include <boost/iterator/iterator_facade.hpp>
#include <boost/iterator/iterator_adaptor.hpp>
#include "KisCppQuirks.h"
#include "kis_assert.h"
#include "kis_debug.h"

Go to the source code of this file.

Classes

class  KisForestDetail::BaseIterator< BaseClass, T, Tag, is_const >
 
struct  KisForestDetail::BaseNode< Base >
 
class  KisForestDetail::ChildIterator< T, is_const >
 
class  KisForestDetail::CompositionIterator< T, is_const >
 
class  KisForestDetail::DepthFirstIterator< T, visit_on, is_const >
 
class  KisForestDetail::Forest< T >
 
class  KisForestDetail::HierarchyIterator< T, is_const >
 
struct  KisForestDetail::Node< T >
 
struct  KisForestDetail::RootNodeImpl< Base >
 

Namespaces

namespace  KisForestDetail
 

Typedefs

template<typename T >
using KisForest = KisForestDetail::Forest<T>
 
template<typename T >
using KisForestDetail::RootNode = RootNodeImpl<Node<T>>
 

Enumerations

enum  KisForestDetail::TraversalState { KisForestDetail::Enter , KisForestDetail::Leave }
 

Functions

template<typename value_type , bool is_const>
ChildIterator< value_type, is_const > KisForestDetail::childBegin (const ChildIterator< value_type, is_const > &it)
 
template<typename T >
Forest< T >::const_child_iterator KisForestDetail::childBegin (const Forest< T > &forest)
 
template<typename T >
Forest< T >::child_iterator KisForestDetail::childBegin (Forest< T > &forest)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = ChildIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::childBegin (Iterator it)
 
template<typename value_type , bool is_const>
ChildIterator< value_type, is_const > KisForestDetail::childEnd (const ChildIterator< value_type, is_const > &it)
 
template<typename T >
Forest< T >::const_child_iterator KisForestDetail::childEnd (const Forest< T > &forest)
 
template<typename T >
Forest< T >::child_iterator KisForestDetail::childEnd (Forest< T > &forest)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = ChildIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::childEnd (Iterator it)
 
template<typename T >
Forest< T >::const_composition_iterator KisForestDetail::compositionBegin (const Forest< T > &forest)
 
template<typename T >
Forest< T >::composition_iterator KisForestDetail::compositionBegin (Forest< T > &forest)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = CompositionIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::compositionBegin (Iterator it)
 
template<typename T >
Forest< T >::const_composition_iterator KisForestDetail::compositionEnd (const Forest< T > &forest)
 
template<typename T >
Forest< T >::composition_iterator KisForestDetail::compositionEnd (Forest< T > &forest)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = CompositionIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::compositionEnd (Iterator it)
 
template<typename T >
int KisForestDetail::depth (const Forest< T > &forest)
 
template<typename T >
int KisForestDetail::depth (typename Forest< T >::const_child_iterator beginIt, typename Forest< T >::const_child_iterator endIt)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = HierarchyIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::hierarchyBegin (Iterator it)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = HierarchyIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::hierarchyEnd (Iterator it)
 
template<typename T , bool is_const>
bool KisForestDetail::isEnd (const ChildIterator< T, is_const > &it)
 
template<typename value_type , bool is_const>
QDebug KisForestDetail::operator<< (QDebug dbg, const ChildIterator< value_type, is_const > &it)
 
template<typename value_type , bool is_const>
ChildIterator< value_type, is_const > KisForestDetail::parent (const ChildIterator< value_type, is_const > &it)
 
template<typename value_type , bool is_const>
ChildIterator< value_type, is_const > KisForestDetail::siblingBegin (const ChildIterator< value_type, is_const > &it)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = ChildIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::siblingBegin (Iterator it)
 
template<typename value_type , bool is_const>
ChildIterator< value_type, is_const > KisForestDetail::siblingCurrent (ChildIterator< value_type, is_const > it)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = ChildIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::siblingCurrent (Iterator it)
 
template<typename value_type , bool is_const>
ChildIterator< value_type, is_const > KisForestDetail::siblingEnd (const ChildIterator< value_type, is_const > &it)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = ChildIterator<typename Iterator::value_type, is_const>>
ResultIterator KisForestDetail::siblingEnd (Iterator it)
 
template<typename T >
int KisForestDetail::size (const Forest< T > &forest)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = DepthFirstIterator<typename Iterator::value_type, Enter, is_const>>
ResultIterator KisForestDetail::subtreeBegin (Iterator it)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = DepthFirstIterator<typename Iterator::value_type, Enter, is_const>>
ResultIterator KisForestDetail::subtreeEnd (Iterator it)
 
template<typename T >
Forest< T >::const_depth_first_tail_iterator KisForestDetail::tailSubtreeBegin (const Forest< T > &forest)
 
template<typename T >
Forest< T >::depth_first_tail_iterator KisForestDetail::tailSubtreeBegin (Forest< T > &forest)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = DepthFirstIterator<typename Iterator::value_type, Leave, is_const>>
ResultIterator KisForestDetail::tailSubtreeBegin (Iterator it)
 
template<typename T >
Forest< T >::const_depth_first_tail_iterator KisForestDetail::tailSubtreeEnd (const Forest< T > &forest)
 
template<typename T >
Forest< T >::depth_first_tail_iterator KisForestDetail::tailSubtreeEnd (Forest< T > &forest)
 
template<typename Iterator , bool is_const = std::is_const_v<typename Iterator::NodeType>, typename ResultIterator = DepthFirstIterator<typename Iterator::value_type, Leave, is_const>>
ResultIterator KisForestDetail::tailSubtreeEnd (Iterator it)
 

Typedef Documentation

◆ KisForest

template<typename T >
using KisForest = KisForestDetail::Forest<T>

Definition at line 1246 of file KisForest.h.