| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.GLib.Structs.Node
Contents
Description
The Node struct represents one node in a [n-ary tree][glib-N-ary-Trees].
- newtype Node = Node (ManagedPtr Node)
- newZeroNode :: MonadIO m => m Node
- noNode :: Maybe Node
- data NodeChildIndexMethodInfo
- nodeChildIndex :: (HasCallStack, MonadIO m) => Node -> Ptr () -> m Int32
- data NodeChildPositionMethodInfo
- nodeChildPosition :: (HasCallStack, MonadIO m) => Node -> Node -> m Int32
- data NodeDepthMethodInfo
- nodeDepth :: (HasCallStack, MonadIO m) => Node -> m Word32
- data NodeDestroyMethodInfo
- nodeDestroy :: (HasCallStack, MonadIO m) => Node -> m ()
- data NodeIsAncestorMethodInfo
- nodeIsAncestor :: (HasCallStack, MonadIO m) => Node -> Node -> m Bool
- data NodeMaxHeightMethodInfo
- nodeMaxHeight :: (HasCallStack, MonadIO m) => Node -> m Word32
- data NodeNChildrenMethodInfo
- nodeNChildren :: (HasCallStack, MonadIO m) => Node -> m Word32
- data NodeNNodesMethodInfo
- nodeNNodes :: (HasCallStack, MonadIO m) => Node -> [TraverseFlags] -> m Word32
- data NodeReverseChildrenMethodInfo
- nodeReverseChildren :: (HasCallStack, MonadIO m) => Node -> m ()
- data NodeUnlinkMethodInfo
- nodeUnlink :: (HasCallStack, MonadIO m) => Node -> m ()
- clearNodeChildren :: MonadIO m => Node -> m ()
- getNodeChildren :: MonadIO m => Node -> m (Maybe Node)
- node_children :: AttrLabelProxy "children"
- setNodeChildren :: MonadIO m => Node -> Ptr Node -> m ()
- clearNodeData :: MonadIO m => Node -> m ()
- getNodeData :: MonadIO m => Node -> m (Ptr ())
- node_data :: AttrLabelProxy "data"
- setNodeData :: MonadIO m => Node -> Ptr () -> m ()
- clearNodeNext :: MonadIO m => Node -> m ()
- getNodeNext :: MonadIO m => Node -> m (Maybe Node)
- node_next :: AttrLabelProxy "next"
- setNodeNext :: MonadIO m => Node -> Ptr Node -> m ()
- clearNodeParent :: MonadIO m => Node -> m ()
- getNodeParent :: MonadIO m => Node -> m (Maybe Node)
- node_parent :: AttrLabelProxy "parent"
- setNodeParent :: MonadIO m => Node -> Ptr Node -> m ()
- clearNodePrev :: MonadIO m => Node -> m ()
- getNodePrev :: MonadIO m => Node -> m (Maybe Node)
- node_prev :: AttrLabelProxy "prev"
- setNodePrev :: MonadIO m => Node -> Ptr Node -> m ()
Exported types
Constructors
| Node (ManagedPtr Node) |
Instances
newZeroNode :: MonadIO m => m Node #
Construct a Node struct initialized to zero.
Methods
childIndex
data NodeChildIndexMethodInfo #
Instances
| ((~) * signature (Ptr () -> m Int32), MonadIO m) => MethodInfo * NodeChildIndexMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> Ptr () |
|
| -> m Int32 | Returns: the index of the child of |
Gets the position of the first child of a Node
which contains the given data.
childPosition
data NodeChildPositionMethodInfo #
Instances
| ((~) * signature (Node -> m Int32), MonadIO m) => MethodInfo * NodeChildPositionMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> Node |
|
| -> m Int32 | Returns: the position of |
Gets the position of a Node with respect to its siblings.
child must be a child of node. The first child is numbered 0,
the second 1, and so on.
depth
data NodeDepthMethodInfo #
Instances
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * NodeDepthMethodInfo Node signature # | |
destroy
data NodeDestroyMethodInfo #
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * NodeDestroyMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m () |
Removes root and its children from the tree, freeing any memory
allocated.
isAncestor
data NodeIsAncestorMethodInfo #
Instances
| ((~) * signature (Node -> m Bool), MonadIO m) => MethodInfo * NodeIsAncestorMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> Node |
|
| -> m Bool | Returns: |
Returns True if node is an ancestor of descendant.
This is true if node is the parent of descendant,
or if node is the grandparent of descendant etc.
maxHeight
data NodeMaxHeightMethodInfo #
Instances
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * NodeMaxHeightMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m Word32 | Returns: the maximum height of the tree beneath |
nChildren
data NodeNChildrenMethodInfo #
Instances
| ((~) * signature (m Word32), MonadIO m) => MethodInfo * NodeNChildrenMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m Word32 | Returns: the number of children of |
Gets the number of children of a Node.
nNodes
data NodeNNodesMethodInfo #
Instances
| ((~) * signature ([TraverseFlags] -> m Word32), MonadIO m) => MethodInfo * NodeNNodesMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> [TraverseFlags] |
|
| -> m Word32 | Returns: the number of nodes in the tree |
Gets the number of nodes in a tree.
reverseChildren
data NodeReverseChildrenMethodInfo #
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * NodeReverseChildrenMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m () |
Reverses the order of the children of a Node.
(It doesn't change the order of the grandchildren.)
unlink
data NodeUnlinkMethodInfo #
Instances
| ((~) * signature (m ()), MonadIO m) => MethodInfo * NodeUnlinkMethodInfo Node signature # | |
Arguments
| :: (HasCallStack, MonadIO m) | |
| => Node |
|
| -> m () |
Unlinks a Node from a tree, resulting in two separate trees.
Properties
children
clearNodeChildren :: MonadIO m => Node -> m () #
node_children :: AttrLabelProxy "children" #
data
clearNodeData :: MonadIO m => Node -> m () #
getNodeData :: MonadIO m => Node -> m (Ptr ()) #
node_data :: AttrLabelProxy "data" #
setNodeData :: MonadIO m => Node -> Ptr () -> m () #
next
clearNodeNext :: MonadIO m => Node -> m () #
node_next :: AttrLabelProxy "next" #
parent
clearNodeParent :: MonadIO m => Node -> m () #
node_parent :: AttrLabelProxy "parent" #
prev
clearNodePrev :: MonadIO m => Node -> m () #
node_prev :: AttrLabelProxy "prev" #