10#ifndef MCRL2_ATERMPP_ATERM_IO_BINARY_H
11#define MCRL2_ATERMPP_ATERM_IO_BINARY_H
45 void put(
const aterm &term)
override;
57 std::shared_ptr<mcrl2::utilities::obitstream>
m_stream;
83 std::shared_ptr<mcrl2::utilities::ibitstream>
m_stream;
bool is_a_binary_aterm(std::istream &is)
The interface for a class that reads aterm from a stream. The default constructed term aterm() indica...
The interface for a class that writes aterm to a stream. Every written term is retrieved by the corre...
Reads terms from a stream in the steamable binary aterm format.
std::shared_ptr< mcrl2::utilities::ibitstream > m_stream
unsigned int m_function_symbol_index_width
caches the result of function_symbol_index_width().
unsigned int function_symbol_index_width()
atermpp::deque< aterm > m_terms
An index of read terms.
unsigned int term_index_width()
unsigned int m_term_index_width
caches the result of term_index_width().
void get(aterm &t) override
Reads an aterm from this stream.
std::deque< function_symbol > m_function_symbols
An index of read function symbols.
Writes terms in a streamable binary aterm format to an output stream.
unsigned int m_term_index_width
caches the result of term_index_width().
~binary_aterm_ostream() override
std::size_t write_function_symbol(const function_symbol &symbol)
Write a function symbol to the output stream.
std::shared_ptr< mcrl2::utilities::obitstream > m_stream
unsigned int m_function_symbol_index_width
caches the result of function_symbol_index_width().
unsigned int term_index_width()
atermpp::indexed_set< aterm > m_terms
An index of already written terms.
void put(const aterm &term) override
Writes an aterm in a compact binary format where subterms are shared. The term that is written itself...
unsigned int function_symbol_index_width()
mcrl2::utilities::indexed_set< function_symbol > m_function_symbols
An index of already written function symbols.
A deque class in which aterms can be stored.
A set that assigns each element an unique index, and protects its internal terms en masse.
A set that assigns each element an unique index.
The main namespace for the aterm++ library.