MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches

Public Member Functions

 BB ()=default
 BB (const BB &)=delete
 BB (BB &&other) noexcept=default
BBoperator= (BB other) noexcept
std::deque< std::ostringstream > & head ()
std::deque< std::ostringstream > & body ()
std::deque< std::ostringstream > & tail ()
template<class... Args>
void body (const char *s, Args &&... args)
template<class... Args>
void tail (const char *s, Args &&... args)
template<class... Args>
std::string assign (Tab tab, std::string name, const char *s, Args &&... args)
template<class Fn>
std::string assign (Tab tab, std::string name, Fn &&print_term)

Public Attributes

std::array< std::deque< std::ostringstream >, 3 > parts
std::set< std::string > assigned

Friends

void swap (BB &a, BB &b) noexcept

Detailed Description

Definition at line 17 of file sexpr.cpp.

Constructor & Destructor Documentation

◆ BB() [1/3]

mim::sexpr::BB::BB ( )
default

Referenced by BB(), BB(), operator=(), and swap.

◆ BB() [2/3]

mim::sexpr::BB::BB ( const BB & )
delete

References BB().

◆ BB() [3/3]

mim::sexpr::BB::BB ( BB && other)
defaultnoexcept

References BB().

Member Function Documentation

◆ assign() [1/2]

template<class... Args>
std::string mim::sexpr::BB::assign ( Tab tab,
std::string name,
const char * s,
Args &&... args )
inline

◆ assign() [2/2]

template<class Fn>
std::string mim::sexpr::BB::assign ( Tab tab,
std::string name,
Fn && print_term )
inline

Definition at line 48 of file sexpr.cpp.

References assigned, body(), and mim::Tab::lnprint().

◆ body() [1/2]

std::deque< std::ostringstream > & mim::sexpr::BB::body ( )
inline

Definition at line 24 of file sexpr.cpp.

References parts.

Referenced by assign(), assign(), body(), and mim::sexpr::Emitter::emit_type().

◆ body() [2/2]

template<class... Args>
void mim::sexpr::BB::body ( const char * s,
Args &&... args )
inline

Definition at line 28 of file sexpr.cpp.

References body(), and mim::print().

◆ head()

std::deque< std::ostringstream > & mim::sexpr::BB::head ( )
inline

Definition at line 23 of file sexpr.cpp.

References parts.

◆ operator=()

BB & mim::sexpr::BB::operator= ( BB other)
inlinenoexcept

Definition at line 21 of file sexpr.cpp.

References BB(), and swap.

◆ tail() [1/2]

std::deque< std::ostringstream > & mim::sexpr::BB::tail ( )
inline

Definition at line 25 of file sexpr.cpp.

References parts.

Referenced by tail().

◆ tail() [2/2]

template<class... Args>
void mim::sexpr::BB::tail ( const char * s,
Args &&... args )
inline

Definition at line 33 of file sexpr.cpp.

References mim::print(), and tail().

◆ swap

void swap ( BB & a,
BB & b )
friend

Definition at line 58 of file sexpr.cpp.

References BB(), and swap.

Referenced by operator=(), and swap.

Member Data Documentation

◆ assigned

std::set<std::string> mim::sexpr::BB::assigned

Definition at line 64 of file sexpr.cpp.

Referenced by assign(), and assign().

◆ parts

std::array<std::deque<std::ostringstream>, 3> mim::sexpr::BB::parts

Definition at line 63 of file sexpr.cpp.

Referenced by body(), head(), and tail().


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