Public Types | Public Member Functions

ACE_Array< T > Class Template Reference

A dynamic array class. More...

#include <Containers_T.h>

Inheritance diagram for ACE_Array< T >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Array< T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef T TYPE
typedef ACE_Array_Iterator< T > ITERATOR

Public Member Functions

 ACE_Array (size_t size=0, ACE_Allocator *alloc=0)
 Dynamically create an uninitialized array.
 ACE_Array (size_t size, const T &default_value, ACE_Allocator *alloc=0)
 Dynamically initialize the entire array to the {default_value}.
 ACE_Array (const ACE_Array< T > &s)
 Copy constructor.
void operator= (const ACE_Array< T > &s)
 Assignment operator.
bool operator== (const ACE_Array< T > &s) const
 Equality comparison operator.
bool operator!= (const ACE_Array< T > &s) const
 Inequality comparison operator.

Detailed Description

template<class T>
class ACE_Array< T >

A dynamic array class.

This class extends ACE_Array_Base, adding comparison operators.

Requirements and Performance Characteristics

See also:
ACE_Array_Base. This class inherits its operations and requirements.

Definition at line 1991 of file Containers_T.h.


Member Typedef Documentation

template<class T>
typedef ACE_Array_Iterator<T> ACE_Array< T >::ITERATOR

Reimplemented from ACE_Array_Base< T >.

Definition at line 1996 of file Containers_T.h.

template<class T>
typedef T ACE_Array< T >::TYPE

Reimplemented from ACE_Array_Base< T >.

Definition at line 1995 of file Containers_T.h.


Constructor & Destructor Documentation

template<class T >
ACE_Array< T >::ACE_Array ( size_t  size = 0,
ACE_Allocator alloc = 0 
) [inline]

Dynamically create an uninitialized array.

Initialize an empty array of the specified size using the provided allocation strategy.

Definition at line 272 of file Containers_T.inl.

  : ACE_Array_Base<T> (size, alloc)
{
}

template<class T>
ACE_Array< T >::ACE_Array ( size_t  size,
const T &  default_value,
ACE_Allocator alloc = 0 
) [inline]

Dynamically initialize the entire array to the {default_value}.

Initialize an array the given size placing the default_value in each index.

Definition at line 279 of file Containers_T.inl.

  : ACE_Array_Base<T> (size, default_value, alloc)
{
}

template<class T>
ACE_Array< T >::ACE_Array ( const ACE_Array< T > &  s  )  [inline]

Copy constructor.

The copy constructor performs initialization by making an exact copy of the contents of parameter {s}, i.e., *this == s will return true.

Definition at line 289 of file Containers_T.inl.

   : ACE_Array_Base<T> (s)
{
}


Member Function Documentation

template<class T>
bool ACE_Array< T >::operator!= ( const ACE_Array< T > &  s  )  const [inline]

Inequality comparison operator.

Compare this array with {s} for inequality such that {*this} != {s} is always the complement of the boolean return value of {*this} == {s}.

Definition at line 308 of file Containers_T.inl.

{
  return !(*this == s);
}

template<class T>
void ACE_Array< T >::operator= ( const ACE_Array< T > &  s  )  [inline]

Assignment operator.

Assignment operator performs an assignment by making an exact copy of the contents of parameter {s}, i.e., *this == s will return true. Note that if the {max_size_} of {array_} is >= than {s.max_size_} we can copy it without reallocating. However, if {max_size_} is < {s.max_size_} we must delete the {array_}, reallocate a new {array_}, and then copy the contents of {s}.

Definition at line 297 of file Containers_T.inl.

{
  // Check for "self-assignment".

  if (this != &s)
    this->ACE_Array_Base<T>::operator= (s);
}

template<class T>
bool ACE_Array< T >::operator== ( const ACE_Array< T > &  s  )  const

Equality comparison operator.

Compare this array with {s} for equality. Two arrays are equal if their {size}'s are equal and all the elements from 0 .. {size} are equal.

Definition at line 1913 of file Containers_T.cpp.

{
  if (this == &s)
    return true;
  else if (this->size () != s.size ())
    return false;

  const size_t len = s.size ();
  for (size_t slot = 0; slot < len; ++slot)
    if ((*this)[slot] != s[slot])
      return false;

  return true;
}


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines