carl  24.04
Computer ARithmetic Library
carl::BVTermContent Struct Reference

#include <BVTermContent.h>

Public Types

using ContentType = std::variant< BVVariable, BVValue, BVUnaryContent, BVBinaryContent, BVExtractContent >
 

Public Member Functions

std::size_t computeHash () const
 
template<typename T >
const T & as () const
 
 BVTermContent ()
 
 BVTermContent (BVTermType type, BVValue &&value)
 
 BVTermContent (BVTermType type, const BVVariable &variable)
 
 BVTermContent (BVTermType type, const BVTerm &_operand, std::size_t _index=0)
 
 BVTermContent (BVTermType type, const BVTerm &_first, const BVTerm &_second)
 
 BVTermContent (BVTermType type, const BVTerm &_operand, std::size_t _highest, std::size_t _lowest)
 
std::size_t id () const
 
std::size_t width () const
 
BVTermType type () const
 
const auto & content () const
 
bool isInvalid () const
 
void gatherBVVariables (std::set< BVVariable > &vars) const
 
std::size_t complexity () const
 
std::size_t hash () const
 

Data Fields

BVTermType mType = BVTermType::CONSTANT
 
ContentType mContent = BVValue()
 
std::size_t mWidth = 0
 
std::size_t mId = 0
 
std::size_t mHash = 0
 

Detailed Description

Definition at line 81 of file BVTermContent.h.

Member Typedef Documentation

◆ ContentType

Constructor & Destructor Documentation

◆ BVTermContent() [1/6]

carl::BVTermContent::BVTermContent ( )
inline

Definition at line 100 of file BVTermContent.h.

◆ BVTermContent() [2/6]

carl::BVTermContent::BVTermContent ( BVTermType  type,
BVValue &&  value 
)
inline

Definition at line 103 of file BVTermContent.h.

Here is the call graph for this function:

◆ BVTermContent() [3/6]

carl::BVTermContent::BVTermContent ( BVTermType  type,
const BVVariable variable 
)
inline

Definition at line 109 of file BVTermContent.h.

Here is the call graph for this function:

◆ BVTermContent() [4/6]

carl::BVTermContent::BVTermContent ( BVTermType  type,
const BVTerm _operand,
std::size_t  _index = 0 
)
inline

Definition at line 115 of file BVTermContent.h.

Here is the call graph for this function:

◆ BVTermContent() [5/6]

carl::BVTermContent::BVTermContent ( BVTermType  type,
const BVTerm _first,
const BVTerm _second 
)
inline

Definition at line 134 of file BVTermContent.h.

Here is the call graph for this function:

◆ BVTermContent() [6/6]

carl::BVTermContent::BVTermContent ( BVTermType  type,
const BVTerm _operand,
std::size_t  _highest,
std::size_t  _lowest 
)
inline

Definition at line 148 of file BVTermContent.h.

Here is the call graph for this function:

Member Function Documentation

◆ as()

template<typename T >
const T& carl::BVTermContent::as ( ) const
inline

Definition at line 95 of file BVTermContent.h.

Here is the caller graph for this function:

◆ complexity()

std::size_t carl::BVTermContent::complexity ( ) const
inline

Definition at line 188 of file BVTermContent.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ computeHash()

std::size_t carl::BVTermContent::computeHash ( ) const
inline

Definition at line 90 of file BVTermContent.h.

◆ content()

const auto& carl::BVTermContent::content ( ) const
inline

Definition at line 167 of file BVTermContent.h.

Here is the caller graph for this function:

◆ gatherBVVariables()

void carl::BVTermContent::gatherBVVariables ( std::set< BVVariable > &  vars) const
inline

Definition at line 175 of file BVTermContent.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hash()

std::size_t carl::BVTermContent::hash ( ) const
inline

Definition at line 204 of file BVTermContent.h.

Here is the caller graph for this function:

◆ id()

std::size_t carl::BVTermContent::id ( ) const
inline

Definition at line 155 of file BVTermContent.h.

Here is the caller graph for this function:

◆ isInvalid()

bool carl::BVTermContent::isInvalid ( ) const
inline

Definition at line 171 of file BVTermContent.h.

Here is the caller graph for this function:

◆ type()

BVTermType carl::BVTermContent::type ( ) const
inline

Definition at line 163 of file BVTermContent.h.

Here is the caller graph for this function:

◆ width()

std::size_t carl::BVTermContent::width ( ) const
inline

Definition at line 159 of file BVTermContent.h.

Here is the caller graph for this function:

Field Documentation

◆ mContent

ContentType carl::BVTermContent::mContent = BVValue()

Definition at line 85 of file BVTermContent.h.

◆ mHash

std::size_t carl::BVTermContent::mHash = 0

Definition at line 88 of file BVTermContent.h.

◆ mId

std::size_t carl::BVTermContent::mId = 0

Definition at line 87 of file BVTermContent.h.

◆ mType

BVTermType carl::BVTermContent::mType = BVTermType::CONSTANT

Definition at line 84 of file BVTermContent.h.

◆ mWidth

std::size_t carl::BVTermContent::mWidth = 0

Definition at line 86 of file BVTermContent.h.


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