GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
chaiscript::eval::Def_AST_Node< T > Struct Template Referencefinal

#include <chaiscript_eval.hpp>

Inheritance diagram for chaiscript::eval::Def_AST_Node< T >:
Collaboration diagram for chaiscript::eval::Def_AST_Node< T >:

Public Member Functions

 Def_AST_Node (std::string t_ast_node_text, Parse_Location t_loc, std::vector< AST_Node_Impl_Ptr< T > > t_children)
Boxed_Value eval_internal (const chaiscript::detail::Dispatch_State &t_ss) const override
Public Member Functions inherited from chaiscript::eval::AST_Node_Impl< T >
 AST_Node_Impl (std::string t_ast_node_text, AST_Node_Type t_id, Parse_Location t_loc, std::vector< AST_Node_Impl_Ptr< T > > t_children=std::vector< AST_Node_Impl_Ptr< T > >())
std::vector< std::reference_wrapper< AST_Node > > get_children () const final
Boxed_Value eval (const chaiscript::detail::Dispatch_State &t_e) const final
Public Member Functions inherited from chaiscript::AST_Node
const std::string & filename () const
const File_Position & start () const
const File_Position & end () const
std::string pretty_print () const
std::string to_string (const std::string &t_prepend="") const
 Prints the contents of an AST node, including its children, recursively.
virtual ~AST_Node ()=default
 AST_Node (AST_Node &&)=default
AST_Node & operator= (AST_Node &&)=default
 AST_Node (const AST_Node &)=delete
AST_Node & operator= (const AST_Node &)=delete

Static Public Member Functions

static std::shared_ptr< AST_Node_Impl< T > > get_guard_node (std::vector< AST_Node_Impl_Ptr< T > > &&vec, bool has_guard)
static std::shared_ptr< AST_Node_Impl< T > > get_body_node (std::vector< AST_Node_Impl_Ptr< T > > &&vec)
static bool has_guard (const std::vector< AST_Node_Impl_Ptr< T > > &t_children, const std::size_t offset)
Static Public Member Functions inherited from chaiscript::eval::AST_Node_Impl< T >
static bool get_scoped_bool_condition (const AST_Node_Impl< T > &node, const chaiscript::detail::Dispatch_State &t_ss)
Static Public Member Functions inherited from chaiscript::AST_Node
static bool get_bool_condition (const Boxed_Value &t_bv, const chaiscript::detail::Dispatch_State &t_ss)

Public Attributes

std::shared_ptr< AST_Node_Impl< T > > m_body_node
std::shared_ptr< AST_Node_Impl< T > > m_guard_node
Public Attributes inherited from chaiscript::eval::AST_Node_Impl< T >
std::vector< AST_Node_Impl_Ptr< T > > children
Public Attributes inherited from chaiscript::AST_Node
const AST_Node_Type identifier
const std::string text
Parse_Location location

Additional Inherited Members

Protected Member Functions inherited from chaiscript::AST_Node
 AST_Node (std::string t_ast_node_text, AST_Node_Type t_id, Parse_Location t_loc)

Constructor & Destructor Documentation

◆ Def_AST_Node()

template<typename T>
chaiscript::eval::Def_AST_Node< T >::Def_AST_Node ( std::string t_ast_node_text,
Parse_Location t_loc,
std::vector< AST_Node_Impl_Ptr< T > > t_children )
inline

Member Function Documentation

◆ eval_internal()

template<typename T>
Boxed_Value chaiscript::eval::Def_AST_Node< T >::eval_internal ( const chaiscript::detail::Dispatch_State & t_ss) const
inlineoverridevirtual

◆ get_body_node()

template<typename T>
std::shared_ptr< AST_Node_Impl< T > > chaiscript::eval::Def_AST_Node< T >::get_body_node ( std::vector< AST_Node_Impl_Ptr< T > > && vec)
inlinestatic
Here is the caller graph for this function:

◆ get_guard_node()

template<typename T>
std::shared_ptr< AST_Node_Impl< T > > chaiscript::eval::Def_AST_Node< T >::get_guard_node ( std::vector< AST_Node_Impl_Ptr< T > > && vec,
bool has_guard )
inlinestatic
Here is the caller graph for this function:

◆ has_guard()

template<typename T>
bool chaiscript::eval::Def_AST_Node< T >::has_guard ( const std::vector< AST_Node_Impl_Ptr< T > > & t_children,
const std::size_t offset )
inlinestatic
Here is the caller graph for this function:

Member Data Documentation

◆ m_body_node

template<typename T>
std::shared_ptr<AST_Node_Impl<T> > chaiscript::eval::Def_AST_Node< T >::m_body_node

◆ m_guard_node

template<typename T>
std::shared_ptr<AST_Node_Impl<T> > chaiscript::eval::Def_AST_Node< T >::m_guard_node

The documentation for this struct was generated from the following file: