10#ifndef MCRL2_UTILITIES_STACK_VECTOR_H
11#define MCRL2_UTILITIES_STACK_VECTOR_H
42 for (T& element : *
this)
50 for (T& element : *
this)
81 assert(index <
size());
94#define MCRL2_STACK_ARRAY_NAME(NAME) \
95 NAME ## _reserved_stack_memory
98#define MCRL2_DECLARE_STACK_ARRAY(NAME, TYPE, SIZE) \
99 TYPE* MCRL2_STACK_ARRAY_NAME(NAME) = MCRL2_SPECIFIC_STACK_ALLOCATOR(TYPE, SIZE); \
100 mcrl2::utilities::stack_array<TYPE> NAME (MCRL2_STACK_ARRAY_NAME(NAME), SIZE)
Inherit from this class to prevent it from being copyable.
Provides (a subset of) the interface of std::array<T> for a portion of preallocated memory....
const_iterator begin() const
std::size_t max_size() const
stack_array(T *reserved_memory, std::size_t N)
The given pointer should be able to hold N element of sizeof(T) bytes.
std::reverse_iterator< iterator > reverse_iterator
T & operator[](std::size_t index)
std::reverse_iterator< const_iterator > const_reverse_iterator
reverse_iterator rbegin()
const_iterator end() const
const_reverse_iterator rend() const
const_reverse_iterator rbegin() const
This file contains a workaround that allows to assign a small array of elements on the stack....
A class that takes a linear process specification and checks all tau-summands of that LPS for conflue...