/***************************************************************************

    source::worx xtree
    Copyright © 2024-2025 c.holzheuer
    christoph.holzheuer@gmail.com

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

***************************************************************************/


#ifndef XQNODE_H
#define XQNODE_H

#include <iostream>
#include <QDebug>
#include <QModelIndex>

#include <znode.h>
#include <xqappdata.h>
#include <znode_factory.h>

//!  überlädt den operator<< für QString und std::ostream
std::ostream& operator<<(std::ostream& os, const QString& obj);

//! raw node
using XQNode = znode::zbasic_node<QString,znode::zpayload<QString>>;
//! default shared node
using XQNodePtr = std::shared_ptr<znode::zbasic_node<QString,znode::zpayload<QString>>>;

//! die node factory
using XQNodeFactory = znode::znode_factory<QString,znode::zpayload<QString>>;



//void inspect( XQNodePtr node, int offSet=0 );
void inspect( const XQNodePtr& node, int indent=0 );

Q_DECLARE_METATYPE(XQNodePtr);


#endif // XQNODE_H
