slang::ast::StreamingConcatenationExpression class

Represents a streaming concatenation.

Base classes

class Expression
The base class for all expressions in SystemVerilog.

Public types

struct StreamExpression
A single stream expression within the concatenation.

Public functions

auto isFixedSize() const -> bool
auto getBitstreamWidth() const -> uint64_t
auto getSliceSize() const -> uint64_t
Gets the size of the blocks to slice and reorder: if 0, this is a left-to-right concatenation.
auto streams() const -> std::span<const StreamExpression>

Function documentation

bool slang::ast::StreamingConcatenationExpression::isFixedSize() const

Returns true if the expression has a fixed size, and false if it involves dynamically sized elements.

uint64_t slang::ast::StreamingConcatenationExpression::getBitstreamWidth() const

Returns the bitstream width of the expression.

uint64_t slang::ast::StreamingConcatenationExpression::getSliceSize() const

Gets the size of the blocks to slice and reorder: if 0, this is a left-to-right concatenation.

Otherwise, it's a right-to-left concatenation.

std::span<const StreamExpression> slang::ast::StreamingConcatenationExpression::streams() const

Returns the stream elements that make up the concatenation