Loading...
Searching...
No Matches
by::pod Class Reference

Pod. More...

#include <pod.hpp>

Inheritance diagram for by::pod:
by::obj by::baseObj by::node by::statable by::frameInteractable by::autopod

Public Member Functions

manifestgetManifest ()
 
const manifestgetManifest () const
 
virtual nbool isValid () const
 
void rel () override
 
void addDependent (me &dependent)
 Adds a dependent pod to this slot.
 
void addDependent (me *it) BY_SIDE_FUNC(addDependent)
 
const tnarr< me > & getDependents () const
 
- Public Member Functions inherited from by::obj
 obj ()
 Constructs an obj representing an "any" class.
 
 obj (const scope &subs)
 Constructs an obj from a given scope, typically representing its initial set of children.
 
 obj (const me &rhs)
 Copy constructor for obj.
 
me & operator= (const me &rhs)
 
scopesubs () override
 
tstr< nbicontainermySubs () const override
 
state getState () const override
 
void setState (state new1) override
 
scopegetShares ()
 
const scope &getShares() const BY_CONST_FUNC(getShares()) scope const scope::super & getOwns () const BY_CONST_FUNC(getOwns()) const ntype &getType() const override
 
void onCloneDeep (const clonable &from) override
 Performs a deep clone operation, copying the contents from another clonable object.
 
virtual nodegetCallComplete ()
 Returns the node responsible for completing the object's construction or initialization calls.
 
const node *getCallComplete() const BY_CONST_FUNC(getCallComplete()) protected str _onBeforeCtor () override
 Hook method called before the object's constructor is fully executed.
 
- Public Member Functions inherited from by::baseObj
str eval (const args &a) override
 
priorType prioritize (const args &a) const override
 
virtual const baseObjgetOrigin () const
 
void inFrame (const bicontainable *args) const override
 
void outFrame () const override
 
const srcgetSrc () const override
 
virtual const nodegetSubPod () const
 Retrieves a sub-pod represented as a node.
 
virtual baseObjmake () const
 
const modifiergetModifier () const override
 
- Public Member Functions inherited from by::node
me & operator[] (const std::string &name)
 
const me & operator[] (const std::string &name) const BY_CONST_FUNC(operator[](name))
 
me & operator[] (const std::string *it)
 
const me & operator[] (const std::string *it) const BY_CONST_FUNC(operator[](it))
 
me & operator[] (const nchar *name)
 
const me & operator[] (const nchar *name) const BY_CONST_FUNC(operator[](name))
 
nbool in (const node &elem) const
 
nbool in (const node *elem) const
 
const scopesubs () const BY_CONST_FUNC(subs()) virtual tstr< nbicontainer > mySubs() const
 Returns a tstr to a container of immediate sub-nodes (excluding inherited or chained ones).
 
const nodepromote (const node &it) const
 
const nodepromote (const node *it) const BY_SIDE_FUNC(promote)
 
template<typename T >
T * sub (std::function< nbool(const std::string &, const T &)> l)
 
template<typename T >
const T * sub (std::function< nbool(const std::string &, const T &)> l) const BY_CONST_FUNC(sub< T >(l)) template< typename T
 
template<typename T = me>
const T * sub () const BY_CONST_FUNC(sub< T >()) template< typename T
 
template<typename T = me>
T * sub (const std::string *it) BY_SIDE_FUNC(sub)
 
template<typename T = me>
const T * sub (const std::string &name) const BY_CONST_FUNC(sub< T >(name)) template< typename T
 
template<typename T = me>
T * sub (const std::string *name, const args &a) BY_SIDE_FUNC(name
 
template<typename T = me>
const T * sub (const std::string &name, const args &a) const BY_CONST_FUNC(sub< T >(name
 
template<typename T = me>
const T a const T * sub (const std::string *name, const args &a) const BY_CONST_FUNC(sub< T >(name
 
template<typename T >
const T a const T a tnarr< T, strTactic > subAll (std::function< nbool(const std::string &, const T &)> l) const
 
template<typename T = me>
tnarr< T, strTactic > subAll () const
 
template<typename T = me>
tpriorities< T > subAll (const std::string &name) const
 
template<typename T = me>
tpriorities< T > subAll (const std::string *it) const BY_SIDE_FUNC(subAll< T >) template< typename T
 
template<typename T = me>
tpriorities< T > subAll (const std::string &name, const args &a) const
 
template<typename T = me>
tpriorities< T > subAll (const std::string *name, const args *a) const BY_SIDE_FUNC(name
 
tpriorities< T > subAll< T > tpriorities ())
 
template<typename T = me>
tpriorities< T > subAll (const std::string *name, const args &a) const BY_SIDE_FUNC(name
 
tpriorities< T > subAll< T > tpriorities ())
 
bool canEval (const args &a) const
 
priorType prioritize (const args *it) const BY_SIDE_FUNC(it
 
str eval (const args *it) BY_SIDE_FUNC(eval)
 
str eval (const std::string &name, const args &a)
 
str eval (const std::string &name, const args *a) BY_SIDE_FUNC(a
 
str eval (name, a)
 
str str ())
 
str eval (const std::string *name, const args &a) BY_SIDE_FUNC(name
 
str eval str ())
 
str eval (const std::string *name, const args *a) BY_SIDE_FUNC(name &&a
 
str eval str ())
 
str eval (const std::string &name)
 
str eval (const std::string *it) BY_SIDE_FUNC(eval)
 
str eval ()
 
template<typename T >
nbool is () const
 
nbool is (const typeProvidable &to) const
 
nbool is (const typeProvidable *it) const BY_SIDE_FUNC(is)
 
nbool is (const type &to) const
 
nbool is (const type *it) const BY_SIDE_FUNC(is)
 
template<typename T >
tstr< T > as () const
 
str as (const typeProvidable &to) const
 
str as (const typeProvidable *it) const BY_SIDE_FUNC(as)
 
str as (const type &to) const
 
str as (const type *it) const BY_SIDE_FUNC(as)
 
template<typename T >
nbool isImpli () const
 
virtual nbool isImpli (const type &to) const
 
nbool isImpli (const typeProvidable &to) const
 
nbool isImpli (const typeProvidable *it) const BY_SIDE_FUNC(isImpli)
 
template<typename T >
tstr< T > asImpli () const
 
virtual str asImpli (const type &to) const
 
str asImpli (const typeProvidable &to) const
 
str asImpli (const typeProvidable *it) const BY_SIDE_FUNC(asImpli)
 
virtual nbool isComplete () const
 
virtual str infer () const
 
virtual void accept (const visitInfo &i, visitor &v)
 
void inFrame (const bicontainable *args) const override
 
void outFrame () const override
 
virtual void inFrame (const bicontainable *args) const=0
 
void inFrame () const
 
virtual void outFrame () const=0
 
- Public Member Functions inherited from by::frameInteractable
void inFrame () const
 

Protected Member Functions

virtual void _invalidate ()
 Protected virtual method to invalidate the pod.
 
- Protected Member Functions inherited from by::obj
 obj (const scope &shares, scope &owns)
 Protected constructor for obj, allowing explicit separation of shares and owns.
 
- Protected Member Functions inherited from by::baseObj
 baseObj ()=default
 Default constructor for baseObj.
 
 baseObj (const baseObj *org, nbool isScripted)
 Constructs a baseObj from an existing origin object.
 
str _onEvalSub (node &sub, const args &a) override
 Protected virtual method for evaluating a sub-node.
 
void _setSrc (const src &s) override
 
virtual void _inFrame (frame &fr, const bicontainable *args) const
 Enters this object's frame into the current execution stack.
 
virtual void _setType (const mgdType &new1)
 Sets the script type for this base object.
 
virtual void _setModifier (const modifier &mod)
 
- Protected Member Functions inherited from by::node
void _setSrc (const src *it) BY_SIDE_FUNC(_setSrc)
 

Additional Inherited Members

- Public Attributes inherited from by::node
T sub name
 
T sub nullptr
 
tpriorities< T > subAll< T > name
 
priorType prioritize it
 
priorType prioritize NO_MATCH
 
str eval name
 
- Static Public Attributes inherited from by::baseObj
static const std::string COMMON_NAME = "@common"
 
static const std::string EXPAND_NAME = "@expand"
 
- Protected Attributes inherited from by::baseObj
tstr< baseObj_org
 

Detailed Description

Pod.

The byeol language distributes libraries in units called pod, a type of compressed file. A pod file contains a top-level @ref obj object, manifest, and a list of dependent pods. (In byeol, to use another pod in your code, you must declare the dependency relationship in the manifest.)

A pod is the result created from a pod file; it doesn't handle loading the pod. See podLoading or podLoader for pod loading details.

Member Function Documentation

◆ _invalidate()

virtual void by::pod::_invalidate ( )
protectedvirtual

Protected virtual method to invalidate the pod.

This method is typically called internally to mark the pod as invalid, making it unusable for further operations.

Reimplemented in by::autopod.

◆ addDependent()

void by::pod::addDependent ( me & dependent)

Adds a dependent pod to this slot.

Parameters
dependentThe pod that depends on this one.

◆ rel()

void by::pod::rel ( )
overridevirtual

Release all held resources and prepare for termination.

Remarks
Some classes won't be able to reinitialize after rel() is called.

Reimplemented from by::node.


The documentation for this class was generated from the following file:
to Top