CIRCT 22.0.0git
Loading...
Searching...
No Matches
Classes | Public Member Functions | Private Attributes | List of all members
esi::WindowType Class Reference

Windows represent a fixed-size sliding window over a stream of data. More...

#include <Types.h>

Inheritance diagram for esi::WindowType:
Inheritance graph
[legend]
Collaboration diagram for esi::WindowType:
Collaboration graph
[legend]

Classes

struct  Field
 Field information describing a field within a frame. More...
 
struct  Frame
 Frame information describing which fields are included in a particular frame. More...
 

Public Member Functions

 WindowType (const ID &id, const std::string &name, const Type *intoType, const Type *loweredType, const std::vector< Frame > &frames)
 
const std::string & getName () const
 
const TypegetIntoType () const
 
const TypegetLoweredType () const
 
const std::vector< Frame > & getFrames () const
 
std::ptrdiff_t getBitWidth () const override
 
- Public Member Functions inherited from esi::Type
 Type (const ID &id)
 
virtual ~Type ()=default
 
ID getID () const
 
virtual MutableBitVector serialize (const std::any &obj) const
 Serialize an object to a MutableBitVector (LSB-first stream).
 
virtual std::any deserialize (BitVector &data) const
 Deserialize from a BitVector stream (LSB-first).
 
std::any deserialize (const MessageData &data) const
 
virtual void ensureValid (const std::any &obj) const
 Ensure that a std::any object is valid for this type.
 
std::optional< std::string > isValid (const std::any &obj) const
 
void dump (std::ostream &os, bool oneLine=false) const
 
std::string toString (bool oneLine=false) const
 

Private Attributes

std::string name
 
const TypeintoType
 
const TypeloweredType
 
std::vector< Frameframes
 

Additional Inherited Members

- Public Types inherited from esi::Type
using ID = std::string
 
- Protected Attributes inherited from esi::Type
ID id
 

Detailed Description

Windows represent a fixed-size sliding window over a stream of data.

They define an "into" type (the data structure being windowed) and a "loweredType" (the hardware representation including control signals).

Definition at line 280 of file Types.h.

Constructor & Destructor Documentation

◆ WindowType()

esi::WindowType::WindowType ( const ID id,
const std::string &  name,
const Type intoType,
const Type loweredType,
const std::vector< Frame > &  frames 
)
inline

Definition at line 296 of file Types.h.

Member Function Documentation

◆ getBitWidth()

std::optional< int64_t > WindowType::getBitWidth ( ) const
inlineoverridevirtual

Reimplemented from esi::Type.

Definition at line 306 of file Types.h.

References esi::Type::getBitWidth(), and loweredType.

◆ getFrames()

const std::vector< Frame > & esi::WindowType::getFrames ( ) const
inline

Definition at line 304 of file Types.h.

References frames.

Referenced by esi::ChannelPort::TranslationInfo::precomputeFrameInfo().

◆ getIntoType()

const Type * esi::WindowType::getIntoType ( ) const
inline

Definition at line 302 of file Types.h.

References intoType.

Referenced by esi::ChannelPort::TranslationInfo::precomputeFrameInfo().

◆ getLoweredType()

Type WindowType::getLoweredType ( ) const
inline

Definition at line 303 of file Types.h.

References loweredType.

◆ getName()

const std::string & esi::WindowType::getName ( ) const
inline

Definition at line 301 of file Types.h.

References name.

Member Data Documentation

◆ frames

std::vector<Frame> esi::WindowType::frames
private

Definition at line 314 of file Types.h.

Referenced by getFrames().

◆ intoType

const Type* esi::WindowType::intoType
private

Definition at line 312 of file Types.h.

Referenced by getIntoType().

◆ loweredType

const Type* esi::WindowType::loweredType
private

Definition at line 313 of file Types.h.

Referenced by getBitWidth(), and getLoweredType().

◆ name

std::string esi::WindowType::name
private

Definition at line 311 of file Types.h.

Referenced by getName().


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