VL
Public Member Functions | Protected Member Functions | List of all members
vl::ObjectTreeNode Class Reference

#include <VLBackwardTraversable.h>

Inheritance diagram for vl::ObjectTreeNode:
vl::VarTreeNode

Public Member Functions

 ObjectTreeNode (VarNodeRegistry &registry, vl::AbstractVar *data, VarTreeNode *parent)
 
 ~ObjectTreeNode ()
 
void Update (Observable *sender, vl::VarPtr info) override
 
bool Has (const std::string &childId) const
 
void Set (const std::string &childId, const VarTreeNodePtr &node)
 
const VarTreeNodePtr & Get (const std::string &childId) const
 
int ChildCount () const override
 
ObjectTreeNode * AsObject () override
 
const ObjectTreeNode * AsObject () const override
 
bool IsObject () const override
 
bool Remove (const std::string &childId)
 
VarTreeNodePtr SharedFromThis () override
 
ObjectTreeNodePtr ObjectSharedFromThis ()
 
- Public Member Functions inherited from vl::VarTreeNode
 VarTreeNode (VarNodeRegistry &registry, vl::AbstractVar *data, VarTreeNode *parent)
 
virtual ~VarTreeNode ()
 
const std::string & GetId () const
 
int GetIndex () const
 
std::string GetPath () const
 
const VarNodeRegistry & GetRegistry () const
 
virtual bool IsList () const
 
virtual bool IsObject () const
 
virtual ObjectTreeNode * AsObject ()
 
virtual const ObjectTreeNode * AsObject () const
 
virtual ListTreeNode * AsList ()
 
virtual const ListTreeNode * AsList () const
 
void Update (Observable *sender, vl::VarPtr info) override
 
virtual int ChildCount () const
 
const vl::Var * GetData () const
 
virtual VarTreeNodePtr SharedFromThis ()
 
bool IsRoot () const
 
const VarTreeNode * GetParent () const
 
const void * DataPtr () const
 

Protected Member Functions

bool ForeachChildren (const std::function< bool(VarTreeNode &)> &pred)
 
- Protected Member Functions inherited from vl::VarTreeNode
bool ForeachChildren (const std::function< bool(VarTreeNode &)> &pred)
 
void SetParent (VarTreeNode *newParent)
 

Additional Inherited Members

- Protected Attributes inherited from vl::VarTreeNode
vl::AbstractVar * mData = nullptr
 
const void * mDataPtr = nullptr
 
VarTreeNode * mParent = nullptr
 
VarNodeRegistry & mRegistry
 
bool mToBeReplaced = false
 

Constructor & Destructor Documentation

◆ ObjectTreeNode()

vl::ObjectTreeNode::ObjectTreeNode ( VarNodeRegistry &  registry,
vl::AbstractVar *  data,
VarTreeNode *  parent 
)

◆ ~ObjectTreeNode()

vl::ObjectTreeNode::~ObjectTreeNode ( )

Member Function Documentation

◆ AsObject() [1/2]

const vl::ObjectTreeNode * vl::ObjectTreeNode::AsObject ( ) const
overridevirtual

Reimplemented from vl::VarTreeNode.

◆ AsObject() [2/2]

vl::ObjectTreeNode * vl::ObjectTreeNode::AsObject ( )
overridevirtual

Reimplemented from vl::VarTreeNode.

◆ ChildCount()

int vl::ObjectTreeNode::ChildCount ( ) const
overridevirtual

Reimplemented from vl::VarTreeNode.

◆ ForeachChildren()

bool vl::ObjectTreeNode::ForeachChildren ( const std::function< bool(VarTreeNode &)> &  pred)
protected

◆ Get()

const vl::VarTreeNodePtr & vl::ObjectTreeNode::Get ( const std::string &  childId) const

◆ Has()

bool vl::ObjectTreeNode::Has ( const std::string &  childId) const

◆ IsObject()

bool vl::ObjectTreeNode::IsObject ( ) const
overridevirtual

Reimplemented from vl::VarTreeNode.

◆ ObjectSharedFromThis()

ObjectTreeNodePtr vl::ObjectTreeNode::ObjectSharedFromThis ( )

◆ Remove()

bool vl::ObjectTreeNode::Remove ( const std::string &  childId)

◆ Set()

void vl::ObjectTreeNode::Set ( const std::string &  childId,
const VarTreeNodePtr &  node 
)

◆ SharedFromThis()

VarTreeNodePtr vl::ObjectTreeNode::SharedFromThis ( )
overridevirtual

Reimplemented from vl::VarTreeNode.

◆ Update()

void vl::ObjectTreeNode::Update ( Observable *  sender,
vl::VarPtr  info 
)
override

The documentation for this class was generated from the following files: