mCRL2
Loading...
Searching...
No Matches
mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable > Class Template Reference

Traverser that defines functions for maintaining bound variables. More...

#include <add_binding.h>

Inheritance diagram for mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >:

Public Types

typedef TraverserOrBuilder< Derived > super
 
typedef Variable variable_type
 

Public Member Functions

bool is_bound (variable_type const &v) const
 Returns true if the variable v is bound.
 
const std::multiset< variable_type > & bound_variables () const
 Returns the bound variables.
 
std::multiset< variable_type >::size_type bind_count (const variable_type &v)
 Returns the bind count of the variable v.
 

Protected Member Functions

void increase_bind_count (const variable_type &var)
 Add a variable to the multiset of bound variables.
 
template<typename Container >
void increase_bind_count (const Container &variables, typename atermpp::enable_if_container< Container, variable_type >::type *=nullptr)
 Add a sequence of variables to the multiset of bound variables.
 
void decrease_bind_count (const variable_type &var)
 Remove a variable from the multiset of bound variables.
 
template<typename Container >
void decrease_bind_count (const Container &variables, typename atermpp::enable_if_container< Container, variable_type >::type *=nullptr)
 Remove a sequence of variables from the multiset of bound variables.
 

Protected Attributes

std::multiset< variable_typem_bound_variables
 

Detailed Description

template<template< class > class TraverserOrBuilder, typename Derived, typename Variable>
class mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >

Traverser that defines functions for maintaining bound variables.

Definition at line 25 of file add_binding.h.

Member Typedef Documentation

◆ super

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
typedef TraverserOrBuilder<Derived> mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::super

Definition at line 28 of file add_binding.h.

◆ variable_type

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
typedef Variable mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::variable_type

Definition at line 29 of file add_binding.h.

Member Function Documentation

◆ bind_count()

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
std::multiset< variable_type >::size_type mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::bind_count ( const variable_type v)
inline

Returns the bind count of the variable v.

Definition at line 80 of file add_binding.h.

◆ bound_variables()

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
const std::multiset< variable_type > & mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::bound_variables ( ) const
inline

Returns the bound variables.

Definition at line 74 of file add_binding.h.

◆ decrease_bind_count() [1/2]

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
template<typename Container >
void mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::decrease_bind_count ( const Container &  variables,
typename atermpp::enable_if_container< Container, variable_type >::type *  = nullptr 
)
inlineprotected

Remove a sequence of variables from the multiset of bound variables.

Definition at line 58 of file add_binding.h.

◆ decrease_bind_count() [2/2]

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
void mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::decrease_bind_count ( const variable_type var)
inlineprotected

Remove a variable from the multiset of bound variables.

Definition at line 51 of file add_binding.h.

◆ increase_bind_count() [1/2]

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
template<typename Container >
void mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::increase_bind_count ( const Container &  variables,
typename atermpp::enable_if_container< Container, variable_type >::type *  = nullptr 
)
inlineprotected

Add a sequence of variables to the multiset of bound variables.

Definition at line 42 of file add_binding.h.

◆ increase_bind_count() [2/2]

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
void mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::increase_bind_count ( const variable_type var)
inlineprotected

Add a variable to the multiset of bound variables.

Definition at line 35 of file add_binding.h.

◆ is_bound()

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
bool mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::is_bound ( variable_type const &  v) const
inline

Returns true if the variable v is bound.

Definition at line 68 of file add_binding.h.

Member Data Documentation

◆ m_bound_variables

template<template< class > class TraverserOrBuilder, typename Derived , typename Variable >
std::multiset<variable_type> mcrl2::core::add_binding< TraverserOrBuilder, Derived, Variable >::m_bound_variables
protected

Definition at line 32 of file add_binding.h.


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