8#ifndef INCLUDED_BALL_USERFIELDS
9#define INCLUDED_BALL_USERFIELDS
108#include <balscm_version.h>
123#include <bsl_vector.h>
248 bsl::ostream&
print(bsl::ostream& stream,
250 int spacesPerLevel = 4)
const;
298: d_values(basicAllocator)
305: d_values(original.d_values, basicAllocator)
313 d_values = rhs.d_values;
369 return d_values[index];
375 return d_values[index];
383 d_values.swap(other.d_values);
396 return d_values.
begin();
402 return d_values.
end();
408 return static_cast<int>(d_values.
size());
414 return d_values[index];
420 return d_values[index];
429 return lhs.d_values == rhs.d_values;
435 return !(lhs == rhs);
439bsl::ostream&
ball::operator<<(bsl::ostream& stream,
const UserFields&
object)
441 return object.print(stream, 0, -1);
Definition ball_userfieldvalue.h:135
Definition ball_userfields.h:136
void appendDouble(double value)
Definition ball_userfields.h:343
void appendNull()
Definition ball_userfields.h:331
void appendInt64(bsls::Types::Int64 value)
Definition ball_userfields.h:337
~UserFields()=default
Destroy this object.
friend bool operator==(const UserFields &, const UserFields &)
BSLMF_NESTED_TRAIT_DECLARATION(UserFields, bslma::UsesBslmaAllocator)
ConstIterator end() const
Definition ball_userfields.h:400
void appendDatetimeTz(const bdlt::DatetimeTz &value)
Append an element having the unset value to this object.
Definition ball_userfields.h:355
void append(const UserFieldValue &value)
Append the specified value to this object.
Definition ball_userfields.h:324
friend void swap(UserFields &, UserFields &)
void appendCharArray(const bsl::vector< char > &value)
Append the specified value to this object.
Definition ball_userfields.h:361
UserFields & operator=(const UserFields &rhs)
Definition ball_userfields.h:311
ball::UserFieldValue & value(int index)
Definition ball_userfields.h:373
bsl::vector< ball::UserFieldValue >::const_iterator ConstIterator
Definition ball_userfields.h:148
bslma::Allocator * allocator() const
Definition ball_userfields.h:388
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
void appendString(const bsl::string_view &value)
Definition ball_userfields.h:349
ConstIterator begin() const
Definition ball_userfields.h:394
void removeAll()
Definition ball_userfields.h:318
int length() const
Return the number of user field values in this object.
Definition ball_userfields.h:406
ball::UserFieldValue & operator[](int index)
Definition ball_userfields.h:367
UserFields(bslma::Allocator *basicAllocator=0)
Definition ball_userfields.h:297
Definition bdlt_datetimetz.h:308
BloombergLP::bslma::Allocator * mechanism() const
Definition bslma_bslallocator.h:1126
Definition bslstl_stringview.h:441
size_type size() const BSLS_KEYWORD_NOEXCEPT
Return the number of elements in this vector.
Definition bslstl_vector.h:2664
iterator begin() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:2511
iterator end() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:2519
Definition bslstl_vector.h:1025
allocator_type get_allocator() const BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:4019
VALUE_TYPE & emplace_back(Args &&... arguments)
Definition bslstl_vector.h:3741
VALUE_TYPE const * const_iterator
Definition bslstl_vector.h:1058
void swap(vector &other) BSLS_KEYWORD_NOEXCEPT_SPECIFICATION(AllocatorTraits void clear() BSLS_KEYWORD_NOEXCEPT
Definition bslstl_vector.h:1712
static void swap(T *a, T *b)
Definition bslalg_swaputil.h:194
Definition bslma_allocator.h:457
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition ball_administration.h:214
bsl::ostream & operator<<(bsl::ostream &output, const Attribute &attribute)
void swap(ball::UserFields &a, ball::UserFields &b)
bool operator!=(const Attribute &lhs, const Attribute &rhs)
bool operator==(const Attribute &lhs, const Attribute &rhs)
Definition bslma_usesbslmaallocator.h:343
long long Int64
Definition bsls_types.h:132