-
Notifications
You must be signed in to change notification settings - Fork 2
CustomAttribute
A xlang::meta::reader::CustomAttribute
structure represents a custom attribute.
Since it is a row in a database table, all row operations are available, although in practice you won't use them directly, preferring to use the accessors defined here.
Some methods return a CustomAttribute
that may be empty, as reported by operator bool()
. All method calls are invalid on an empty CustomAttribute
. (Except for operator bool()
, of course.)
xlang::meta::reader::coded_index<HasCustomAttribute> Parent() const;
Returns a coded_index<HasCustomAttribute>
that identifies the entity to which this custom attribute applies. This is column 0 in the database schema.
Complexity: O(1)
Exceptions: Throws std::invalid_argument
if the database is corrupted.
xlang::meta::reader::coded_index<CustomAttributeType> Type() const;
Returns a coded_index<CustomAttributeType>
that identifies what kind of custom attribute this is. This is column 1 in the database schema.
Complexity: O(1)
Exceptions: Throws std::invalid_argument
if the database is corrupted.
xlang::meta::reader::CustomAttributeSig Value() const;
Returns the value of the custom attribute.
Complexity: O(n) where n is the "size" of the attribute's value. This is the information required to represent the attribute, including the name of the attribute and its parameters.
Exceptions: Throws std::invalid_argument
if the database is corrupted. Throws std::bad_alloc
if out of memory.
std::pair<std::string_view const, std::string_view>
TypeNamespaceAndName() const;
Returns the namespace and name of the type of the custom attribute. This parses the Type()
into a namespace and name.
Complexity: O(1).
Exceptions: Throws std::invalid_argument
if the database is corrupted.