GUPList Class Reference

#include <gup.h>

Class Description

See also
Class GUP, Class GUPManager, Template Class Tab, Class GUPHandler.

Description:
This class can be used to create instance of GUP plug-ins on the fly, if needed. It is accessed through the GUPManager object. It keeps a list of available GUP plug-ins. An example of this can be found in /MAXSDK/SAMPLES/UTILITIES/COMSRV. This is a standard Utility plug-in which is used to give the GUP plug-in COMSRV a user interface.
+ Inheritance diagram for GUPList:

Public Member Functions

GUPExport GUPList ()
 
GUPExport int FindGup (const Class_ID id)
 
GUPExport GUPCreateInstance (const Class_ID id)
 
- Public Member Functions inherited from Array< GUPHandler >
typedef int (__cdecl *CompareFnc)(const void *elem1
 Type of function to pass to sort(). More...
 
 Array ()
 Initializes an empty array. More...
 
 Array (size_t initUsedLength, const GUPHandler &defaultVal=GUPHandler(), size_t initGrowLength=kDefaultGrowthLength)
 Initializes an array with an initial size. More...
 
 Array (const Array< GUPHandler > &src)
 Copy constructor. More...
 
 ~Array ()
 Destructor. Destroys every element stored in the array, and frees the allocated storage. More...
 
Array< GUPHandler > & operator= (const Array< GUPHandler > &src)
 Copy operator. More...
 
bool operator== (const Array< GUPHandler > &op) const
 Equality operator. More...
 
Array< GUPHandler > & setAt (size_t index, const GUPHandler &value)
 Sets a copy of value at the given index. More...
 
Array< GUPHandler > & setAll (const GUPHandler &value)
 Sets all the elements of the array to the given value. More...
 
size_t append (const GUPHandler &value)
 Appends a copy of value to the array. More...
 
Array< GUPHandler > & append (const GUPHandler *values, size_t count)
 Appends one or more element(s) to the array. More...
 
Array< GUPHandler > & append (const Array< GUPHandler > &array)
 Appends the contents of another array to this array. More...
 
Array< GUPHandler > & insertAt (size_t index, const GUPHandler &value)
 Inserts a single value, at a given location, into this array. More...
 
Array< GUPHandler > & insertAt (size_t index, const GUPHandler *values, size_t count)
 Inserts a one or more value(s), at a given location, into this array. More...
 
Array< GUPHandler > & removeAt (size_t index)
 Removes a single element from the array. More...
 
bool remove (const GUPHandler &value, size_t start=0)
 Searches for a value in the array and, if it is found, removes it from the array. More...
 
Array< GUPHandler > & removeFirst ()
 Removes the first element of the array. More...
 
Array< GUPHandler > & removeLast ()
 Removes the last element of the array. More...
 
Array< GUPHandler > & removeAll ()
 Removes all the elements from the array. More...
 
Array< GUPHandler > & removeSubArray (size_t startIndex, size_t endIndex)
 Removes a subset of the array. More...
 
bool contains (const GUPHandler &value, size_t start=0) const
 Determines if a value is stored in the array. More...
 
bool find (const GUPHandler &value, size_t &foundAt, size_t start=0) const
 Searches for a value in the array. More...
 
size_t find (const GUPHandler &value) const
 Searches for a value in the array. More...
 
size_t findFrom (const GUPHandler &value, size_t start) const
 Searches for a value in the array, starting at a given index. More...
 
size_t length () const
 Returns the number of used elements (as opposed to simply allocated/reserved) in the array. More...
 
bool isEmpty () const
 Returns true if the number of used elements in the array is 0; returns false otherwise. More...
 
size_t lengthUsed () const
 Returns the number of elements used (as opposed to simply allocated/reserved) in the array. More...
 
Array< GUPHandler > & setLengthUsed (size_t length, const GUPHandler &defaultVal=GUPHandler())
 Sets the number of elements used (as opposed to simply allocated/reserved) in the array. More...
 
size_t lengthReserved () const
 Returns the number of elements allocated/reserved (as opposed to actually used) in the array. More...
 
Array< GUPHandler > & setLengthReserved (size_t length)
 Sets the number of elements allocated/reserved (as opposed to actually used) in the array. More...
 
void reserve (size_t capacity)
 Alias for setLengthReserved. More...
 
size_t growLength () const
 Returns the growth length of the array. More...
 
Array< GUPHandler > & setGrowLength (size_t)
 Sets the growth length of the array. More...
 
Array< GUPHandler > & reverse ()
 Reverses the sequence of elements in the array. More...
 
Array< GUPHandler > & swap (size_t i1, size_t i2)
 Swaps two elements in this array. More...
 
void sort (CompareFnc cmp)
 Sorts the elements of the array using a custom comparison function. More...
 
bool isValidIndex (size_t) const
 Returns whether the given array index is valid for this array. More...
 
GUPHandleroperator[] (size_t i)
 Subscript operator. More...
 
const GUPHandleroperator[] (size_t i) const
 
const GUPHandlerat (size_t index) const
 Same as subscript operator. More...
 
GUPHandlerat (size_t index)
 
GUPHandlerfirst ()
 Accesses the first element in the array. More...
 
const GUPHandlerfirst () const
 
GUPHandlerlast ()
 Accesses the last element in the array. More...
 
const GUPHandlerlast () const
 
const GUPHandlerasArrayPtr () const
 Returns the array storage as a C-style array pointer. More...
 
GUPHandlerasArrayPtr ()
 

Additional Inherited Members

- Public Types inherited from Array< GUPHandler >
typedef const voidelem2
 
- Static Public Member Functions inherited from MaxHeapOperators
static UtilExport voidoperator new (size_t size)
 Standard new operator used to allocate objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e)
 Standard new operator used to allocate objects if there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate objects that takes the type of memory, filename and line number where the new was called If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate objects that takes the filename and line number where the new was called If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new (size_t size, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate objects that takes extra flags to specify special operations If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, const char *filename, int line)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport voidoperator new[] (size_t size, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, an exception will be thrown. More...
 
static UtilExport voidoperator new[] (size_t size, const std::nothrow_t &e, unsigned long flags)
 New operator used to allocate arrays of objects If there is insufficient memory, NULL will be returned. More...
 
static UtilExport void operator delete (void *ptr)
 Standard delete operator used to deallocate an object If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an object If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an object that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an object that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete (void *ptr, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an object that takes extra flags to specify special operations If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e)
 Standard delete operator used to deallocate an array of objects If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, int block_type, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the type of memory, filename and line number where the delete was called If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, const char *filename, int line)
 Delete operator used to deallocate an array of objects that takes the filename and line number where the delete was called If the pointer is invalid, nothing will happen. More...
 
static UtilExport void operator delete[] (void *ptr, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport void operator delete[] (void *ptr, const std::nothrow_t &e, unsigned long flags)
 Delete operator used to deallocate an array of objects that takes extra flags to specify special operations If the pointer is invalid, an exception will be thrown. More...
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator. More...
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator. More...
 
- Protected Types inherited from Array< GUPHandler >
enum  
 
- Static Protected Member Functions inherited from Array< GUPHandler >
static size_t quickSortPartition (GUPHandler *data, size_t first, size_t last, CompareFnc cmp)
 The partition portion of the QuickSort algorithm. More...
 
static void quickSortRecursive (GUPHandler *data, size_t first, size_t last, CompareFnc cmp)
 Recursive QuickSort function used to sort the elements of the array. More...
 
static void handleOutOfMemory ()
 Utility function, called when the array fails to allocate memory. More...
 
static GUPHandlerArrayAllocate (size_t len)
 Allocates an array of elements without constructing them. More...
 
static void ArrayConstruct (GUPHandler *arrayBegin, size_t len, const GUPHandler &defaultVal)
 Constructs an array of elements. More...
 
static void ArrayDeAllocate (GUPHandler *arrayBegin)
 De-allocates an array of elements without destructing them. More...
 
static void ArrayDestruct (GUPHandler *arrayBegin, size_t len)
 Destructs an array of elements. More...
 
static void ArrayCopy (GUPHandler *pCopy, const GUPHandler *pSource, size_t nCount)
 Copies an array of elements to an already-constructed buffer. More...
 
static void ArrayCopyOverlap (GUPHandler *pCopy, const GUPHandler *pSource, size_t nCount)
 Copies an array of elements when the target and destination memory buffers may overlap. More...
 
static void ArrayCopyConstruct (GUPHandler *pCopy, const GUPHandler *pSource, size_t nCount)
 Copies and array of elements to a non-constructed. More...
 
- Protected Attributes inherited from Array< GUPHandler >
GUPHandlermpArray
 Pointer to the storage buffer. More...
 
size_t mReservedLen
 The reserved length (in number of elements, not bytes). More...
 
size_t mUsedLen
 The used length (in number of elements, not bytes). More...
 
size_t mGrowLen
 The growth length. See setGrowLength(). More...
 

Constructor & Destructor Documentation

GUPExport GUPList ( )
inline
Remarks
Constructor.
84 { ; }

Member Function Documentation

GUPExport int FindGup ( const Class_ID  id)
Remarks
Returns the zero based index of the specified GUP plug-in in the list maintain by this class. If not found -1 is returned.
Parameters:
const Class_ID id

Identifies the plug-in to find using its unique Class_ID.
GUPExport GUP* CreateInstance ( const Class_ID  id)
Remarks
This method is used to create a new instance of the GUP plug-in whose Class_ID is specified. If it succeeds, it returns a newly created instance of a GUP object. A developer may then use the GUP::Control() method to communicate with the GUP object.
Parameters:
const Class_ID id

Identifies the plug-in to create.