FId< T, InternedId > Class Template Reference

#include <fid.h>

Inheritance diagram for FId< T, InternedId >:

Public Types

using FidType = T
 
- Public Types inherited from InternedId
using PrivateInfo = Tuple< UniqueHash >
 

Public Member Functions

 FId (const Char *str, ModuleInfo *module)
 
 FId (const InternedId &id, ModuleInfo *module)
 
const InternedIdGet () const
 
Member GetMember () const
 
 operator Member () const
 
- Public Member Functions inherited from InternedId
 InternedId ()
 
 InternedId (InternedId &&src)
 
InternedIdoperator= (InternedId &&src)
 
 InternedId (const InternedId &src)
 
InternedIdoperator= (const InternedId &src)
 
 ~InternedId ()
 
Result< void > Init (const Id &i)
 
Result< void > Init (const CString &str)
 
Result< void > Init (CString &&str)
 
Result< void > Init (const String &str)
 
Result< void > Init (const Char *str, Bool copyString=true)
 
Result< void > Init (const Block< const Char > &str)
 
 operator const Id & () const
 
const IdGet () const
 
const IdGetPointer () const
 
Bool operator== (const InternedId &other) const
 
Bool operator!= (const InternedId &other) const
 
Bool operator< (const InternedId &other) const
 
 MAXON_OPERATOR_INEQUALITY (InternedId)
 
Bool operator== (const Id &other) const
 
Bool operator!= (const Id &other) const
 
COMPARERESULT Compare (const InternedId &other) const
 
HashInt GetHashCode () const
 
const UniqueHashGetUniqueHashCode () const
 
const CharGetCString () const
 
Int GetCStringLength () const
 
Block< const CharToBlock () const
 
String ToString (const FormatStatement *fmt=nullptr) const
 
CString ToCString () const
 
Bool IsPopulated () const
 
Bool IsEmpty () const
 
void Reset ()
 

Static Public Member Functions

static const DataTypeGetType ()
 
template<size_t N>
static constexpr LiteralId PrivateGetLiteralId (const char(&str)[N])
 
- Static Public Member Functions inherited from InternedId
template<typename INPUTTYPE >
static Result< InternedIdCreate (INPUTTYPE &&inputId)
 
template<UInt NUMBER>
static Result< InternedIdCreate ()
 
static MAXON_ATTRIBUTE_FORCE_INLINE const InternedIdNullValue ()
 
static void PrivateAddReference (const Id *ptr)
 

Private Attributes

InternedIdInitializer _initializer
 

Additional Inherited Members

- Static Public Attributes inherited from InternedId
static const InternedId NULL_VALUE
 

Member Typedef Documentation

◆ FidType

using FidType = T

Constructor & Destructor Documentation

◆ FId() [1/2]

FId ( const Char str,
ModuleInfo *  module 
)
explicit

◆ FId() [2/2]

FId ( const InternedId id,
ModuleInfo *  module 
)
explicit

Member Function Documentation

◆ Get()

const InternedId& Get ( ) const

◆ GetType()

static const DataType& GetType ( )
static

◆ GetMember()

Member GetMember ( ) const

◆ operator Member()

operator Member ( ) const

◆ PrivateGetLiteralId()

static constexpr LiteralId PrivateGetLiteralId ( const char(&)  str[N])
staticconstexpr

Member Data Documentation

◆ _initializer

InternedIdInitializer _initializer
private