Serializes a stela tree back to stela source text. 더 자세히 ...
#include <stelaWriter.hpp>
Public 멤버 함수 | |
| std::string | write (stela &root) |
Serializes root and its subtree to a string. | |
| nbool | writeFile (stela &root, const std::string &path) |
Serializes root and writes the result to path (LF, UTF-8, non-atomic). | |
| nbool | writeFile (stela &root, const nchar *path) BY_SIDE_FUNC(path |
| nbool | writeFile (root, std::string(path)) |
by::stelaVisitor(으)로부터 상속된 Public 멤버 함수 | |
| void | work (stela &root) |
| virtual void | onLeave (const stelaVisitInfo &i, valStela &it) |
| virtual void | visit (const stelaVisitInfo &i, stela &it) |
| virtual nbool | onVisit (const stelaVisitInfo &i, stela &it) |
| virtual void | onLeave (const stelaVisitInfo &i, stela &it) |
| virtual void | onTraverse (const stelaVisitInfo &i, stela &it) |
by::typeProvidable(으)로부터 상속된 Public 멤버 함수 | |
| nbool | operator== (const me &rhs) const |
| nbool | operator!= (const me &rhs) const |
| virtual const type & | getType () const =0 |
| nbool | isSub (const type &it) const |
| nbool | isSub (const type *it) const BY_SIDE_FUNC(isSub) |
| nbool | isSub (const me &it) const |
| nbool | isSub (const me *it) const BY_SIDE_FUNC(isSub) |
| nbool | isSuper (const type &it) const |
| nbool | isSuper (const type *it) const BY_SIDE_FUNC(isSuper) |
| nbool | isSuper (const me &it) const |
| nbool | isSuper (const me *it) const BY_SIDE_FUNC(isSuper) |
| template<typename T > | |
| nint | isSub () const |
| template<typename T > | |
| nint | isSuper () const |
| template<typename T > | |
| T * | cast () |
| template<typename T > | |
| const T * | cast () const BY_CONST_FUNC(cast< T >()) virtual void *cast(const type &to) |
| Safe cast to target type using type hierarchy information | |
| const void * | cast (const type &to) const BY_CONST_FUNC(cast(to)) void *cast(const type *it) BY_SIDE_FUNC(cast) |
by::clonable(으)로부터 상속된 Public 멤버 함수 | |
| virtual me * | clone () const =0 |
| virtual me * | cloneDeep () const |
| virtual void | onCloneDeep (const me &from) |
Public 속성 | |
| nbool | false |
Protected 멤버 함수 | |
| nbool | onVisit (const stelaVisitInfo &i, rootStela &it) override |
| nbool | onVisit (const stelaVisitInfo &i, defStela &it) override |
| nbool | onVisit (const stelaVisitInfo &i, valStela &it) override |
| nbool | onVisit (const stelaVisitInfo &i, strStela &it) override |
| nbool | onVisit (const stelaVisitInfo &i, arrStela &it) override |
| void | onLeave (const stelaVisitInfo &i, arrStela &it) override |
Serializes a stela tree back to stela source text.
Implemented as a stelaVisitor. writes a canonical, lossy form. What is NOT preserved:
std::map inside Stela sorts them alphabetically)1_000 becomes 1000)What IS preserved: values and structure. Round-trip parse -> edit -> write -> parse gives the same value tree, and write -> parse -> write produces the same string (canonical fixed point).
The writer serializes a compilation unit, so it accepts only a rootStela: handing write() or writeFile() any other node is rejected (empty string / false). The rootStela itself is never emitted as def <name> — only its children are — matching the shape of stela source, where the top level is implicit.
|
overrideprotectedvirtual |
by::stelaVisitor(으)로부터 재구현되었습니다.
Serializes root and writes the result to path (LF, UTF-8, non-atomic).