mCRL2
Loading...
Searching...
No Matches
mcrl2::data::detail::rewrite_stack Class Reference

#include <rewrite_stack.h>

Inheritance diagram for mcrl2::data::detail::rewrite_stack:
atermpp::vector< data_expression >

Public Member Functions

 rewrite_stack ()
 Constructor.
 
void reserve_more_space ()
 
void increase (std::size_t distance)
 
void decrease (std::size_t distance)
 
template<class T >
T & new_stack_position ()
 
data_expressiontop ()
 
void set_element (std::size_t pos, std::size_t frame_size, const data_expression &d)
 
data_expressionelement (std::size_t pos, std::size_t frame_size)
 
const data_expressionget_element (std::size_t pos, std::size_t frame_size) const
 
atermpp::vector< data_expression >::const_iterator stack_iterator (std::size_t pos, std::size_t frame_size) const
 
std::size_t stack_size () const
 
void reset_stack_size (std::size_t n)
 

Protected Attributes

std::size_t m_stack_size = 0
 
std::size_t m_reserved_stack_size = 0UL
 
- Protected Attributes inherited from atermpp::vector< data_expression >
super m_container
 
detail::generic_aterm_container< supercontainer_wrapper
 

Additional Inherited Members

- Protected Types inherited from atermpp::vector< data_expression >
using super = std::vector< detail::markable_aterm< data_expression >, std::allocator< detail::markable_aterm< data_expression > > >
 
using allocator_type = typename super::allocator_type
 Standard typedefs.
 
using value_type = typename super::value_type
 
using size_type = typename super::size_type
 
using difference_type = typename super::difference_type
 
using reference = typename super::reference
 
using const_reference = typename super::const_reference
 
using pointer = typename super::pointer
 
using const_pointer = typename super::const_pointer
 
using iterator = typename super::iterator
 
using const_iterator = typename super::const_iterator
 
using reverse_iterator = typename super::reverse_iterator
 
using const_reverse_iterator = typename super::const_reverse_iterator
 
- Protected Member Functions inherited from atermpp::vector< data_expression >
 vector ()
 Default constructor.
 
 vector (const allocator_type &alloc)
 Constructor.
 
 vector (size_type n, const allocator_type &alloc=allocator_type())
 Constructor.
 
 vector (size_type n, const value_type &val, const allocator_type &alloc=allocator_type())
 
 vector (InputIterator first, InputIterator last, const allocator_type &alloc=allocator_type())
 Constructor.
 
 vector (const vector &x)
 Constructor.
 
 vector (const vector &x, const allocator_type &alloc)
 Constructor.
 
 vector (vector &&x) noexcept
 Constructor.
 
 vector (vector &&x, const allocator_type &alloc)
 Constructor.
 
 vector (std::initializer_list< value_type > il, const allocator_type &alloc=allocator_type())
 Constructor.
 
vectoroperator= (const vector &x)
 Assignment operator.
 
vectoroperator= (vector &&x) noexcept
 Move assignment operator.
 
 ~vector ()=default
 Standard destructor.
 
allocator_type get_allocator () const noexcept
 
void assign (size_type count, const value_type &value)
 
void assign (InputIt first, InputIt last)
 
void assign (std::initializer_list< value_type > ilist)
 
reference at (size_type pos)
 
const_reference at (size_type pos) const
 
reference operator[] (size_type pos)
 
const_reference operator[] (size_type pos) const
 
reference front ()
 
const_reference front () const
 
reference back ()
 
const_reference back () const
 
value_typedata () noexcept
 
const value_typedata () const noexcept
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
const_iterator cbegin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cend () const noexcept
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rbegin () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
reverse_iterator rend () noexcept
 
const_reverse_iterator rend () const noexcept
 
const_reverse_iterator crend () const noexcept
 
bool empty () const noexcept
 
size_type max_size () const noexcept
 
void reserve (size_type new_cap)
 
size_type capacity () const noexcept
 
void shrink_to_fit ()
 
void clear () noexcept
 
iterator insert (const_iterator pos, const data_expression &value)
 
iterator insert (const_iterator pos, data_expression &&value)
 
iterator insert (const_iterator pos, size_type count, const data_expression &value)
 
iterator insert (const_iterator pos, InputIt first, InputIt last)
 
iterator insert (const_iterator pos, std::initializer_list< data_expression > ilist)
 
iterator emplace (const_iterator pos, Args &&... args)
 
iterator erase (const_iterator pos)
 
iterator erase (const_iterator first, const_iterator last)
 
void push_back (const data_expression &value)
 
void push_back (data_expression &&value)
 
reference emplace_back (Args &&... args)
 
void pop_back ()
 
void resize (size_type count)
 
void resize (size_type count, const value_type &value)
 
void swap (vector &other) noexcept
 
std::size_t size () const
 
void mark (term_mark_stack &todo) const
 Marks all stored terms during garbage collection; used when this container is an element of another protected container.
 
bool operator== (const vector &other) const
 
auto operator<=> (const vector &other) const
 
- Static Protected Member Functions inherited from atermpp::vector< data_expression >
static auto acquire_guard ()
 Acquires the lock that structural modifications must hold: exclusive when ThreadSafe, and otherwise the shared lock that only keeps out the GC.
 

Detailed Description

Definition at line 45 of file rewrite_stack.h.

Constructor & Destructor Documentation

◆ rewrite_stack()

mcrl2::data::detail::rewrite_stack::rewrite_stack ( )
inline

Constructor.

Definition at line 55 of file rewrite_stack.h.

Member Function Documentation

◆ decrease()

void mcrl2::data::detail::rewrite_stack::decrease ( std::size_t  distance)
inline

Definition at line 76 of file rewrite_stack.h.

◆ element()

data_expression & mcrl2::data::detail::rewrite_stack::element ( std::size_t  pos,
std::size_t  frame_size 
)
inline

Definition at line 107 of file rewrite_stack.h.

◆ get_element()

const data_expression & mcrl2::data::detail::rewrite_stack::get_element ( std::size_t  pos,
std::size_t  frame_size 
) const
inline

Definition at line 114 of file rewrite_stack.h.

◆ increase()

void mcrl2::data::detail::rewrite_stack::increase ( std::size_t  distance)
inline

Definition at line 67 of file rewrite_stack.h.

◆ new_stack_position()

template<class T >
T & mcrl2::data::detail::rewrite_stack::new_stack_position ( )
inline

Definition at line 83 of file rewrite_stack.h.

◆ reserve_more_space()

void mcrl2::data::detail::rewrite_stack::reserve_more_space ( )
inline

Definition at line 60 of file rewrite_stack.h.

◆ reset_stack_size()

void mcrl2::data::detail::rewrite_stack::reset_stack_size ( std::size_t  n)
inline

Definition at line 132 of file rewrite_stack.h.

◆ set_element()

void mcrl2::data::detail::rewrite_stack::set_element ( std::size_t  pos,
std::size_t  frame_size,
const data_expression d 
)
inline

Definition at line 100 of file rewrite_stack.h.

◆ stack_iterator()

atermpp::vector< data_expression >::const_iterator mcrl2::data::detail::rewrite_stack::stack_iterator ( std::size_t  pos,
std::size_t  frame_size 
) const
inline

Definition at line 121 of file rewrite_stack.h.

◆ stack_size()

std::size_t mcrl2::data::detail::rewrite_stack::stack_size ( ) const
inline

Definition at line 127 of file rewrite_stack.h.

◆ top()

data_expression & mcrl2::data::detail::rewrite_stack::top ( )
inline

Definition at line 94 of file rewrite_stack.h.

Member Data Documentation

◆ m_reserved_stack_size

std::size_t mcrl2::data::detail::rewrite_stack::m_reserved_stack_size = 0UL
protected

Definition at line 49 of file rewrite_stack.h.

◆ m_stack_size

std::size_t mcrl2::data::detail::rewrite_stack::m_stack_size = 0
protected

Definition at line 48 of file rewrite_stack.h.


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