3ds Max C++ API Reference
Loading...
Searching...
No Matches
NumList Class Reference

#include <NumList.h>

+ Inheritance diagram for NumList:

Public Member Functions

int Add (int j, BOOL checkUnique=TRUE)
 
int Find (int j)
 
- Public Member Functions inherited from Tab< int >
 Tab ()
 Default constructor.
 
 Tab (const Tab &tb)
 Copy constructor.
 
virtual ~Tab ()
 Destructor.
 
void Init ()
 Initializes a Tab instance.
 
int Count () const
 Retrieves the number of items in the Tab.
 
constexpr size_t size () const noexcept
 Retrieves the number of items in the Tab. Standard compliant.
 
void ZeroCount ()
 Resets the number of used items to zero.
 
void SetCount (int n, BOOL resize=TRUE)
 Sets the number of used items.
 
intAddr (const INT_PTR i) const
 Returns the address of the i-th item.
 
constexpr intdata () noexcept
 Returns a pointer to the data buffer of tab. Standard compliant.
 
constexpr const intdata () const noexcept
 Returns a const pointer to the data buffer of tab. Standard compliant.
 
int Insert (int at, int num, int *el)
 Inserts items in the Tab at a specified position.
 
int Append (int num, int *el, int allocExtra=0)
 Appends items at the end of the Tab.
 
int Delete (int start, int num)
 Deletes items from the Tab.
 
int Resize (int num)
 Changes the number of items allocated in memory.
 
void Shrink ()
 Frees unused Tab items to reduce memory footprint.
 
void Sort (CompareFnc cmp)
 Sorts the array using the compare function.
 
Taboperator= (const Tab &tb)
 Assignment operator.
 
intoperator[] (const INT_PTR i) const
 Accesses the i-th Tab item.
 
const intbegin () const
 Accesses the begin iterator, which is a plain pointer in this case.
 
intbegin ()
 
const intend () const
 Accesses the end iterator (one past last valid element). Do not dereference.
 
intend ()
 

Additional Inherited Members

- 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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new[] (size_t size, int block_type, const char *filename, int line)
 New operator used to allocate arrays of objects.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
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.
 
static UtilExport voidoperator new (size_t size, void *placement_ptr)
 Placement new operator.
 
static UtilExport void operator delete (void *ptr, void *placement_ptr)
 Placement delete operator.
 
static UtilExport voidaligned_malloc (size_t size, size_t alignment)
 Allocates memory on a specified alignment boundary.
 
static UtilExport voidaligned_realloc (void *ptr, size_t size, size_t alignment)
 Reallocates memory on a specified alignment boundary.
 
static UtilExport void aligned_free (void *ptr)
 Frees a block of memory that was allocated with aligned_malloc/aligned_realloc.
 

Detailed Description

See also
Template Class Tab.

Description:
This class maintains a simple list of integer numbers. All methods of this class are implemented by the system.

Member Function Documentation

◆ Add()

int Add ( int  j,
BOOL  checkUnique = TRUE 
)
inline
Remarks
Adds the number to the list.
Parameters:
int j

The number to add.

BOOL checkUnique=TRUE

If TRUE the number will be added only if it is not in the table already.
Returns
The index in the table of the added number, or the index where it was found already if checkUnique is used.
47{
48 if (checkUnique) {
49 int n = Find(j);
50 if (n>=0) return n;
51 }
52 return Append(1,&j,5);
53}
int Find(int j)
Definition: NumList.h:37
int Append(int num, int *el, int allocExtra=0)
Appends items at the end of the Tab.
Definition: tab.h:313

◆ Find()

int Find ( int  j)
inline
Remarks
Returns the index in the table of the number passed.
Parameters:
int j

The number to find.
38{
39 int n = Count();
40 for (int i=0; i<n; i++) {
41 if ((*this)[i]==j) return i;
42 }
43 return -1;
44}
int Count() const
Retrieves the number of items in the Tab.
Definition: tab.h:219