8#ifndef INCLUDED_BALL_ATTRIBUTE
9#define INCLUDED_BALL_ATTRIBUTE
171#include <balscm_version.h>
184#include <bsl_cstring.h>
185#include <bsl_string.h>
220 mutable int d_hashValue;
222 mutable int d_hashSize;
283 unsigned long long value,
349 const char *
name()
const;
364 bsl::ostream&
print(bsl::ostream& stream,
366 int spacesPerLevel = 4)
const;
409, d_value(allocator.mechanism())
421, d_value(allocator.mechanism())
433, d_value(allocator.mechanism())
445, d_value(allocator.mechanism())
457, d_value(allocator.mechanism())
469, d_value(allocator.mechanism())
481, d_value(allocator.mechanism())
490 unsigned long long value,
493, d_value(allocator.mechanism())
506, d_value(allocator.mechanism())
518, d_value(allocator.mechanism())
530, d_value(value, allocator.mechanism())
539: d_name(original.d_name)
540, d_value(original.d_value, allocator.mechanism())
541, d_hashValue(original.d_hashValue)
542, d_hashSize(original.d_hashSize)
551 d_value = rhs.d_value;
552 d_hashValue = rhs.d_hashValue;
553 d_hashSize = rhs.d_hashSize;
669 return 0 == bsl::strcmp(lhs.d_name, rhs.d_name)
670 && lhs.d_value == rhs.d_value;
676 return !(lhs == rhs);
Definition ball_attribute.h:198
Attribute(const char *name, const bsl::string_view &value, const allocator_type &allocator=allocator_type())
Definition ball_attribute.h:405
friend bool operator!=(const Attribute &, const Attribute &)
void setName(const char *name)
Definition ball_attribute.h:558
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
BSLMF_NESTED_TRAIT_DECLARATION(Attribute, bslma::UsesBslmaAllocator)
allocator_type get_allocator() const
Definition ball_attribute.h:657
friend bool operator==(const Attribute &, const Attribute &)
void setValue(const Value &value)
Definition ball_attribute.h:565
bsl::allocator< char > allocator_type
Definition ball_attribute.h:232
Attribute & operator=(const Attribute &rhs)
Assign the value of the specified rhs object to this object.
Definition ball_attribute.h:548
const char * name() const
Return the name of this object.
Definition ball_attribute.h:643
static int hash(const Attribute &attribute, int size)
friend bsl::ostream & operator<<(bsl::ostream &, const Attribute &)
bdlb::Variant< int, long, long long, unsigned int, unsigned long, unsigned long long, bsl::string, const void *, bdlb::Guid > Value
Value is an alias for the attribute type variant.
Definition ball_attribute.h:212
const Value & value() const
Definition ball_attribute.h:649
~Attribute()=default
Destroy this object.
Definition bdlb_guid.h:201
VariantImp & assign(const TYPE &value)
Definition bdlb_variant.h:2312
Definition bslma_bslallocator.h:580
Definition bslstl_stringview.h:441
Definition bslstl_string.h:1281
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition ball_administration.h:214
bsl::ostream & operator<<(bsl::ostream &output, const Attribute &attribute)
bool operator!=(const Attribute &lhs, const Attribute &rhs)
bool operator==(const Attribute &lhs, const Attribute &rhs)
basic_string< char > string
Definition bslstl_string.h:782
Definition bslma_usesbslmaallocator.h:343