mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Public Member Functions | Private Member Functions | Private Attributes | Friends
m::wasm::Loop Struct Reference

Implements a loop which iterates exactly once unless explicitly continue-ed. More...

#include <WasmDSL.hpp>

Inheritance diagram for m::wasm::Loop:
[legend]
Collaboration diagram for m::wasm::Loop:
[legend]

Public Member Functions

 Loop (std::string name)
 
 Loop (const char *name)
 
 Loop (const Loop &)=delete
 
 Loop (Loop &&other)
 
 ~Loop ()
 
Loopoperator= (Loop &&other)
 
std::string name () const
 
Blockbody ()
 
const Blockbody () const
 

Private Member Functions

 Loop (std::string name, tag< int >)
 Convenience c'tor accessible via tag-dispatching.
 

Private Attributes

Block body_
 the loop body
 
::wasm::Loop * loop_ = nullptr
 the Binaryen loop
 

Friends

void swap (Loop &first, Loop &second)
 

Detailed Description

Implements a loop which iterates exactly once unless explicitly continue-ed.

The loop may be exited by explicitly break-ing out of it.

Definition at line 6384 of file WasmDSL.hpp.

Constructor & Destructor Documentation

◆ Loop() [1/5]

m::wasm::Loop::Loop ( std::string  name,
tag< int >   
)
inlineprivate

Convenience c'tor accessible via tag-dispatching.

Expects an already unique name.

Definition at line 6398 of file WasmDSL.hpp.

References m::wasm::Block::get(), and m::wasm::Block::name().

◆ Loop() [2/5]

m::wasm::Loop::Loop ( std::string  name)
inlineexplicit

Definition at line 6409 of file WasmDSL.hpp.

◆ Loop() [3/5]

m::wasm::Loop::Loop ( const char *  name)
inlineexplicit

Definition at line 6410 of file WasmDSL.hpp.

◆ Loop() [4/5]

m::wasm::Loop::Loop ( const Loop )
delete

◆ Loop() [5/5]

m::wasm::Loop::Loop ( Loop &&  other)
inline

Definition at line 6413 of file WasmDSL.hpp.

References m::swap().

◆ ~Loop()

m::wasm::Loop::~Loop ( )
inline

Definition at line 6415 of file WasmDSL.hpp.

Member Function Documentation

◆ body() [1/2]

Block & m::wasm::Loop::body ( )
inline

Definition at line 6426 of file WasmDSL.hpp.

Referenced by m::wasm::DoWhile::~DoWhile().

◆ body() [2/2]

const Block & m::wasm::Loop::body ( ) const
inline

Definition at line 6427 of file WasmDSL.hpp.

◆ name()

std::string m::wasm::Loop::name ( ) const
inline

Definition at line 6424 of file WasmDSL.hpp.

◆ operator=()

Loop & m::wasm::Loop::operator= ( Loop &&  other)
inline

Definition at line 6422 of file WasmDSL.hpp.

References m::swap().

Friends And Related Function Documentation

◆ swap

void swap ( Loop first,
Loop second 
)
friend

Definition at line 6386 of file WasmDSL.hpp.

Field Documentation

◆ body_

Block m::wasm::Loop::body_
private

the loop body

Definition at line 6393 of file WasmDSL.hpp.

◆ loop_

::wasm::Loop* m::wasm::Loop::loop_ = nullptr
private

the Binaryen loop

Definition at line 6394 of file WasmDSL.hpp.


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