Class zmbt::lang::EncodingView¶
ClassList > zmbt > lang > EncodingView
Classes¶
Type | Name |
---|---|
struct | ExprRow |
class | Iterator |
Public Types¶
Type | Name |
---|---|
typedef Keyword | K |
typedef boost::json::value | V |
typedef Iterator | const_iterator |
typedef std::reverse_iterator< const_iterator > | const_reverse_iterator |
typedef Iterator | iterator |
typedef std::reverse_iterator< iterator > | reverse_iterator |
Public Functions¶
Type | Name |
---|---|
EncodingView (Encoding && root) = delete |
|
EncodingView () = default |
|
EncodingView (K const * k, std::size_t const * d, V const * v, std::size_t sz, std::size_t index_offset) |
|
EncodingView (Encoding const & root) |
|
std::size_t | arity () const Number of children. |
ExprRow | at (std::size_t i) const |
ExprRow | back () const |
const_iterator | begin () const |
const_iterator | cbegin () const |
const_iterator | cend () const |
EncodingView | child (int ord) noexcept const |
std::size_t | child_idx (int ord) noexcept const |
std::list< EncodingView > | children () const Children subviews. |
const_reverse_iterator | crbegin () const |
const_reverse_iterator | crend () const |
std::size_t | depth_offset () const |
bool | empty () const |
const_iterator | end () const |
Encoding | freeze () const Hardcopy referenced encoding subview. |
ExprRow | front () const |
Keyword | head () noexcept const Root node keyword. |
V const * | if_data () const |
std::size_t const * | if_depth () const |
K const * | if_keywords () const |
std::size_t | index_offset () const |
bool | is_boolean () const |
bool | is_const () const |
bool | operator!= (EncodingView const & o) const |
bool | operator== (EncodingView const & o) const |
ExprRow | operator[] (std::size_t i) const |
const_reverse_iterator | rbegin () const |
const_reverse_iterator | rend () const |
std::size_t | size () const |
EncodingView | slice (std::size_t start, std::size_t count) noexcept const Create a subview [start, start+count) |
EncodingView | subtree (std::size_t const node) noexcept const Get a subview at specified node. |
EncodingView | traverse_subtrees (std::size_t const node, std::size_t & next) noexcept const |
Public Types Documentation¶
typedef K¶
typedef V¶
typedef const_iterator¶
typedef const_reverse_iterator¶
typedef iterator¶
typedef reverse_iterator¶
Public Functions Documentation¶
function EncodingView [1/4]¶
function EncodingView [2/4]¶
function EncodingView [3/4]¶
zmbt::lang::EncodingView::EncodingView (
K const * k,
std::size_t const * d,
V const * v,
std::size_t sz,
std::size_t index_offset
)
function EncodingView [4/4]¶
function arity¶
Number of children.
function at¶
Get node at index i Throws std::range_error if out of bounds
function back¶
function begin¶
function cbegin¶
function cend¶
function child¶
Get subview on child # ord If not found, returns empty view
function child_idx¶
Get child # ord node index. Negative ord resolves as reverse. If not found, returns size()
function children¶
Children subviews.
function crbegin¶
function crend¶
function depth_offset¶
function empty¶
function end¶
function freeze¶
Hardcopy referenced encoding subview.
function front¶
function head¶
Root node keyword.
function if_data¶
function if_depth¶
function if_keywords¶
function index_offset¶
function is_boolean¶
function is_const¶
function operator!=¶
function operator==¶
function operator[]¶
function rbegin¶
function rend¶
function size¶
function slice¶
Create a subview [start, start+count)
EncodingView zmbt::lang::EncodingView::slice (
std::size_t start,
std::size_t count
) noexcept const
function subtree¶
Get a subview at specified node.
function traverse_subtrees¶
EncodingView zmbt::lang::EncodingView::traverse_subtrees (
std::size_t const node,
std::size_t & next
) noexcept const
Traverse subtrees from starting position. next
arg points to the next subtree index at the same depth, or to size() if none.
The documentation for this class was generated from the following file zmbt-framework/zmbt-framework/backends/cxx/include/zmbt/expr/encoding.hpp