Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
Container Class Reference

#include <IceContainer.h>

Inheritance diagram for Container:
Inheritance graph
[legend]

List of all members.

Public Member Functions

inline_ ContainerAdd (udword entry)
inline_ ContainerAdd (const udword *entries, udword nb)
inline_ ContainerAdd (float entry)
inline_ ContainerAdd (const float *entries, udword nb)
inline_ ContainerAddUnique (udword entry)
 Add unique [slow].
 Container ()
 Container (const Container &object)
 Container (udword size, float growth_factor)
bool Contains (udword entry, udword *location=null) const
bool Delete (udword entry)
inline_ void DeleteIndex (udword index)
 Deletes the entry whose index is given.
bool DeleteKeepingOrder (udword entry)
inline_ void DeleteLastEntry ()
 Deletes the very last entry.
ContainerEmpty ()
ContainerFindNext (udword &entry, FindMode find_mode=FIND_CLAMP)
ContainerFindPrev (udword &entry, FindMode find_mode=FIND_CLAMP)
inline_ void ForceSize (udword size)
inline_ udwordGetEntries () const
 Returns the list of entries.
inline_ udword GetEntry (udword i) const
 Returns ith entry.
inline_ udword GetFirst () const
inline_ float GetGrowthFactor () const
 Returns the growth factor.
inline_ udword GetLast () const
inline_ udword GetNbContainers () const
 Operator for "Container A = Container B".
inline_ udword GetNbEntries () const
 Returns the current number of entries.
inline_ udword GetTotalBytes () const
udword GetUsedRam () const
inline_ bool IsFull () const
 Checks the container is full.
inline_ BOOL IsNotEmpty () const
 Checks the container is empty.
inline_ udword operator[] (udword i) const
 Read-access as an array.
inline_ udwordoperator[] (udword i)
 Write-access as an array.
bool Refit ()
inline_ void Reset ()
inline_ void SetGrowthFactor (float growth)
 Sets the growth factor.
bool SetSize (udword nb)
 ~Container ()

Private Member Functions

bool Resize (udword needed=1)

Private Attributes

udword mCurNbEntries
 Current number of entries.
udwordmEntries
 List of entries.
float mGrowthFactor
 Resize: new number of entries = old number * mGrowthFactor.
udword mMaxNbEntries
 Maximum possible number of entries.

Static Private Attributes

static udword mNbContainers
 Number of containers around.
static udword mUsedRam
 Amount of bytes used by containers in the system.

Detailed Description

Contains a list of 32-bits values. Use this class when you need to store an unknown number of values. The list is automatically resized and can contains 32-bits entities (dwords or floats)

Author:
Pierre Terdiman
Version:
1.0
Date:
08.15.98

Definition at line 25 of file IceContainer.h.


Constructor & Destructor Documentation

Container::Container ( udword  size,
float  growth_factor 
)

Member Function Documentation

inline_ Container& Container::Add ( udword  entry) [inline]

A O(1) method to add a value in the container. The container is automatically resized if needed. The method is inline, not the resize. The call overhead happens on resizes only, which is not a problem since the resizing operation costs a lot more than the call overhead...

Parameters:
entry[in] a udword to store in the container
See also:
Add(float entry)
Empty()
Contains(udword entry)
Returns:
Self-Reference

Definition at line 47 of file IceContainer.h.

inline_ Container& Container::Add ( const udword entries,
udword  nb 
) [inline]

Definition at line 57 of file IceContainer.h.

inline_ Container& Container::Add ( float  entry) [inline]

A O(1) method to add a value in the container. The container is automatically resized if needed. The method is inline, not the resize. The call overhead happens on resizes only, which is not a problem since the resizing operation costs a lot more than the call overhead...

Parameters:
entry[in] a float to store in the container
See also:
Add(udword entry)
Empty()
Contains(udword entry)
Returns:
Self-Reference

Definition at line 81 of file IceContainer.h.

inline_ Container& Container::Add ( const float *  entries,
udword  nb 
) [inline]

Definition at line 91 of file IceContainer.h.

Add unique [slow].

Definition at line 103 of file IceContainer.h.

bool Container::Contains ( udword  entry,
udword location = null 
) const
bool Container::Delete ( udword  entry)

Deletes the entry whose index is given.

Definition at line 164 of file IceContainer.h.

Deletes the very last entry.

Definition at line 162 of file IceContainer.h.

Clears the container. All stored values are deleted, and it frees used ram.

See also:
Reset()
Returns:
Self-Reference
Container& Container::FindNext ( udword entry,
FindMode  find_mode = FIND_CLAMP 
)
Container& Container::FindPrev ( udword entry,
FindMode  find_mode = FIND_CLAMP 
)

Definition at line 133 of file IceContainer.h.

inline_ udword* Container::GetEntries ( ) const [inline]

Returns the list of entries.

Definition at line 172 of file IceContainer.h.

inline_ udword Container::GetEntry ( udword  i) const [inline]

Returns ith entry.

Definition at line 171 of file IceContainer.h.

inline_ udword Container::GetFirst ( ) const [inline]

Definition at line 174 of file IceContainer.h.

inline_ float Container::GetGrowthFactor ( ) const [inline]

Returns the growth factor.

Definition at line 178 of file IceContainer.h.

inline_ udword Container::GetLast ( ) const [inline]

Definition at line 175 of file IceContainer.h.

Operator for "Container A = Container B".

Definition at line 195 of file IceContainer.h.

Returns the current number of entries.

Definition at line 170 of file IceContainer.h.

Definition at line 196 of file IceContainer.h.

inline_ bool Container::IsFull ( ) const [inline]

Checks the container is full.

Definition at line 180 of file IceContainer.h.

inline_ BOOL Container::IsNotEmpty ( ) const [inline]

Checks the container is empty.

Definition at line 181 of file IceContainer.h.

inline_ udword Container::operator[] ( udword  i) const [inline]

Read-access as an array.

Definition at line 184 of file IceContainer.h.

inline_ udword& Container::operator[] ( udword  i) [inline]

Write-access as an array.

Definition at line 186 of file IceContainer.h.

bool Container::Refit ( )

Refits the container and get rid of unused bytes.

Returns:
true if success

Resets the container. Stored values are discarded but the buffer is kept so that further calls don't need resizing again. That's a kind of temporal coherence.

See also:
Empty()

Reimplemented in CollisionFaces.

Definition at line 125 of file IceContainer.h.

bool Container::Resize ( udword  needed = 1) [private]
inline_ void Container::SetGrowthFactor ( float  growth) [inline]

Sets the growth factor.

Definition at line 179 of file IceContainer.h.

bool Container::SetSize ( udword  nb)

Sets the initial size of the container. If it already contains something, it's discarded.

Parameters:
nb[in] Number of entries
Returns:
true if success

Member Data Documentation

Current number of entries.

Definition at line 207 of file IceContainer.h.

List of entries.

Definition at line 208 of file IceContainer.h.

float Container::mGrowthFactor [private]

Resize: new number of entries = old number * mGrowthFactor.

Definition at line 209 of file IceContainer.h.

Maximum possible number of entries.

Definition at line 206 of file IceContainer.h.

udword Container::mNbContainers [static, private]

Number of containers around.

Definition at line 199 of file IceContainer.h.

udword Container::mUsedRam [static, private]

Amount of bytes used by containers in the system.

Definition at line 200 of file IceContainer.h.


The documentation for this class was generated from the following file:


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Thu Apr 11 2019 03:30:21