Skip to content

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

using zmbt::lang::EncodingView::K =  Keyword;

typedef V

using zmbt::lang::EncodingView::V =  boost::json::value;

typedef const_iterator

using zmbt::lang::EncodingView::const_iterator =  Iterator;

typedef const_reverse_iterator

using zmbt::lang::EncodingView::const_reverse_iterator =  std::reverse_iterator<const_iterator>;

typedef iterator

using zmbt::lang::EncodingView::iterator =  Iterator;

typedef reverse_iterator

using zmbt::lang::EncodingView::reverse_iterator =  std::reverse_iterator< iterator>;

Public Functions Documentation

function EncodingView [1/4]

zmbt::lang::EncodingView::EncodingView (
    Encoding && root
) = delete

function EncodingView [2/4]

zmbt::lang::EncodingView::EncodingView () = default

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]

zmbt::lang::EncodingView::EncodingView (
    Encoding const & root
) 

function arity

Number of children.

std::size_t zmbt::lang::EncodingView::arity () const


function at

ExprRow zmbt::lang::EncodingView::at (
    std::size_t i
) const

Get node at index i Throws std::range_error if out of bounds


function back

ExprRow zmbt::lang::EncodingView::back () const

function begin

inline const_iterator zmbt::lang::EncodingView::begin () const

function cbegin

inline const_iterator zmbt::lang::EncodingView::cbegin () const

function cend

inline const_iterator zmbt::lang::EncodingView::cend () const

function child

EncodingView zmbt::lang::EncodingView::child (
    int ord
) noexcept const

Get subview on child # ord If not found, returns empty view


function child_idx

std::size_t zmbt::lang::EncodingView::child_idx (
    int ord
) noexcept const

Get child # ord node index. Negative ord resolves as reverse. If not found, returns size()


function children

Children subviews.

std::list< EncodingView > zmbt::lang::EncodingView::children () const


function crbegin

inline const_reverse_iterator zmbt::lang::EncodingView::crbegin () const

function crend

inline const_reverse_iterator zmbt::lang::EncodingView::crend () const

function depth_offset

std::size_t zmbt::lang::EncodingView::depth_offset () const

function empty

bool zmbt::lang::EncodingView::empty () const

function end

inline const_iterator zmbt::lang::EncodingView::end () const

function freeze

Hardcopy referenced encoding subview.

Encoding zmbt::lang::EncodingView::freeze () const


function front

ExprRow zmbt::lang::EncodingView::front () const

function head

Root node keyword.

Keyword zmbt::lang::EncodingView::head () noexcept const


function if_data

inline V const * zmbt::lang::EncodingView::if_data () const

function if_depth

inline std::size_t const * zmbt::lang::EncodingView::if_depth () const

function if_keywords

inline K const * zmbt::lang::EncodingView::if_keywords () const

function index_offset

std::size_t zmbt::lang::EncodingView::index_offset () const

function is_boolean

bool zmbt::lang::EncodingView::is_boolean () const

function is_const

bool zmbt::lang::EncodingView::is_const () const

function operator!=

bool zmbt::lang::EncodingView::operator!= (
    EncodingView const & o
) const

function operator==

bool zmbt::lang::EncodingView::operator== (
    EncodingView const & o
) const

function operator[]

inline ExprRow zmbt::lang::EncodingView::operator[] (
    std::size_t i
) const

function rbegin

inline const_reverse_iterator zmbt::lang::EncodingView::rbegin () const

function rend

inline const_reverse_iterator zmbt::lang::EncodingView::rend () const

function size

std::size_t zmbt::lang::EncodingView::size () const

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.

EncodingView zmbt::lang::EncodingView::subtree (
    std::size_t const node
) noexcept const


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