CIRCT  19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
circt::firrtl::detail::OpenBundleTypeStorage Struct Reference
Inheritance diagram for circt::firrtl::detail::OpenBundleTypeStorage:
Inheritance graph
[legend]
Collaboration diagram for circt::firrtl::detail::OpenBundleTypeStorage:
Collaboration graph
[legend]

Public Types

using KeyTy = std::pair< ArrayRef< OpenBundleType::BundleElement >, char >
 

Public Member Functions

 OpenBundleTypeStorage (ArrayRef< OpenBundleType::BundleElement > elements, bool isConst)
 
bool operator== (const KeyTy &key) const
 
KeyTy getAsKey () const
 

Static Public Member Functions

static llvm::hash_code hashKey (const KeyTy &key)
 
static OpenBundleTypeStorageconstruct (TypeStorageAllocator &allocator, KeyTy key)
 

Public Attributes

SmallVector< OpenBundleType::BundleElement, 4 > elements
 
SmallVector< uint64_t, 4 > fieldIDs
 
uint64_t maxFieldID
 
RecursiveTypeProperties props
 This holds the bits for the type's recursive properties, and can hold a pointer to a passive version of the type. More...
 
char isConst
 

Detailed Description

Definition at line 1629 of file FIRRTLTypes.cpp.

Member Typedef Documentation

◆ KeyTy

using circt::firrtl::detail::OpenBundleTypeStorage::KeyTy = std::pair<ArrayRef<OpenBundleType::BundleElement>, char>

Definition at line 1630 of file FIRRTLTypes.cpp.

Constructor & Destructor Documentation

◆ OpenBundleTypeStorage()

circt::firrtl::detail::OpenBundleTypeStorage::OpenBundleTypeStorage ( ArrayRef< OpenBundleType::BundleElement >  elements,
bool  isConst 
)
inline

Member Function Documentation

◆ construct()

static OpenBundleTypeStorage* circt::firrtl::detail::OpenBundleTypeStorage::construct ( TypeStorageAllocator &  allocator,
KeyTy  key 
)
inlinestatic

Definition at line 1669 of file FIRRTLTypes.cpp.

References OpenBundleTypeStorage().

◆ getAsKey()

KeyTy circt::firrtl::detail::OpenBundleTypeStorage::getAsKey ( ) const
inline

Definition at line 1667 of file FIRRTLTypes.cpp.

References elements, and isConst.

Referenced by operator==().

◆ hashKey()

static llvm::hash_code circt::firrtl::detail::OpenBundleTypeStorage::hashKey ( const KeyTy key)
inlinestatic

Definition at line 1661 of file FIRRTLTypes.cpp.

◆ operator==()

bool circt::firrtl::detail::OpenBundleTypeStorage::operator== ( const KeyTy key) const
inline

Definition at line 1659 of file FIRRTLTypes.cpp.

References getAsKey().

Member Data Documentation

◆ elements

SmallVector<OpenBundleType::BundleElement, 4> circt::firrtl::detail::OpenBundleTypeStorage::elements

Definition at line 1675 of file FIRRTLTypes.cpp.

Referenced by getAsKey(), and OpenBundleTypeStorage().

◆ fieldIDs

SmallVector<uint64_t, 4> circt::firrtl::detail::OpenBundleTypeStorage::fieldIDs

Definition at line 1676 of file FIRRTLTypes.cpp.

Referenced by OpenBundleTypeStorage().

◆ isConst

char circt::firrtl::detail::OpenBundleTypeStorage::isConst

Definition at line 1684 of file FIRRTLTypes.cpp.

Referenced by getAsKey().

◆ maxFieldID

uint64_t circt::firrtl::detail::OpenBundleTypeStorage::maxFieldID

Definition at line 1677 of file FIRRTLTypes.cpp.

Referenced by OpenBundleTypeStorage().

◆ props

RecursiveTypeProperties circt::firrtl::detail::OpenBundleTypeStorage::props

This holds the bits for the type's recursive properties, and can hold a pointer to a passive version of the type.

Definition at line 1681 of file FIRRTLTypes.cpp.

Referenced by OpenBundleTypeStorage().


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