[#BloombergLP-ball-Attribute]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/ball.adoc[ball]::Attribute
:relfileprefix: ../../
:mrdocs:

An `Attribute` object contains an attribute name which is not managed and an attribute value which is managed&period;

== Synopsis

Declared in `&lt;ball&lowbar;attribute&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Attribute;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/Attribute/Value-01.adoc[`Value`] 
| `Value` is an alias for the attribute type variant&period;
| xref:BloombergLP/ball/Attribute/allocator_type.adoc[`allocator&lowbar;type`] 
| This `typedef` is an alias for the allocator used by this object&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/Attribute/2constructor-05.adoc[`Attribute`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/ball/Attribute/operator_assign.adoc[`operator&equals;`] 
| Assign the value of the specified `rhs` object to this object&period;
| xref:BloombergLP/ball/Attribute/get_allocator.adoc[`get&lowbar;allocator`] 
| Return the allocator used by this object to supply memory&period;
| xref:BloombergLP/ball/Attribute/name.adoc[`name`] 
| Return the name of this object&period;
| xref:BloombergLP/ball/Attribute/print.adoc[`print`] 
| Format this object to the specified output stream&period;
| xref:BloombergLP/ball/Attribute/setName.adoc[`setName`] 
| Set the attribute name of this object to the specified (literal) `name`&period;
| xref:BloombergLP/ball/Attribute/setValue-078.adoc[`setValue`] 
| `setValue` overloads
| xref:BloombergLP/ball/Attribute/value-06.adoc[`value`] 
| Return a reference to the non&hyphen;modifiable attribute value of this object&period;
| xref:BloombergLP/ball/Attribute/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;Attribute, UsesBslmaAllocator&gt;`] 
| Declare that this type uses a `bslma` allocator&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/Attribute/hash.adoc[`hash`] 
| Return a hash value calculated from the specified `attribute`&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/ball/operator_lshift-0f.adoc[BloombergLP::ball::operator&lt;&lt;]`
| Write the value of the specified `attribute` to the specified `output` stream&period; Return the specified `output` stream&period;
| `xref:BloombergLP/ball/operator_not_eq-014.adoc[BloombergLP::ball::operator!&equals;]`
| Return `true` if the specified `lhs` and `rhs` objects do not have the same value, and `false` otherwise&period;
| `xref:BloombergLP/ball/operator_eq-03b.adoc[BloombergLP::ball::operator&equals;&equals;]`
| Return `true` if the specified `lhs` and `rhs` objects have the same value, and `false` otherwise&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/ball/operator_not_eq-036.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` objects do not have the same value, and `false` otherwise&period;
| xref:BloombergLP/ball/operator_eq-021.adoc[`operator&equals;&equals;`]
| Return `true` if the specified `lhs` and `rhs` objects have the same value, and `false` otherwise&period;
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
