Containers
[Utilities]
Classes | |
class | csArray< T, ElementHandler, MemoryAllocator, CapacityHandler > |
A templated array class. More... | |
struct | csArrayCapacityDefault |
class | csArrayCapacityLinear< Threshold > |
csArray capacity handler. More... | |
class | csArrayCmp< T, K > |
A functor template which encapsulates a key and a comparison function for use with key-related csArray<> searching methods, such as FindKey() and FindSortedKey(). More... | |
class | csArrayElementHandler< T > |
The default element handler for csArray. More... | |
class | csArraySafeCopyElementHandler< T > |
Special element handler for csArray that makes sure that when the array is reallocated that the objects are properly constructed and destructed at their new position. More... | |
class | csArrayThresholdFixed< N > |
csArray fixed threshold for capacity handlers. More... | |
class | csArrayThresholdVariable |
csArray variable threshold for capacity handlers. More... | |
class | csComparator< T1, T2 > |
A template providing various comparison and ordering functions. More... | |
class | csComparator< const char *, const char * > |
csComparator<> specialization for strings that uses strcmp(). More... | |
class | csComparator< csString, csString > |
csComparator<> specialization for csString that uses strcmp(). More... | |
class | csComparator< csString, csString > |
csComparator<> specialization for csString that uses strcmp(). More... | |
class | csComparator< csStringBase, csStringBase > |
class | csComparator< csStrKey, csStrKey > |
csComparator<> specialization for csStrKey that uses strcmp(). More... | |
class | csComparatorString< T > |
Template that can be used as a base class for comparators for string types. More... | |
class | csComparatorStruct< T > |
Template that can be used as a base class for comparators for POD (plain old data) types. More... | |
class | csHash< T, K, ArrayMemoryAlloc > |
A generic hash table class, which grows dynamically and whose buckets are unsorted arrays. More... | |
class | csHashComputer< T > |
Template for hash value computing. More... | |
class | csHashComputer< const char * > |
csHashComputer<> specialization for strings that uses csHashCompute(). More... | |
class | csHashComputer< double > |
class | csHashComputer< float > |
class | csHashComputer< int > |
class | csHashComputer< long > |
class | csHashComputer< longlong > |
class | csHashComputer< ulonglong > |
class | csHashComputer< unsigned int > |
class | csHashComputer< unsigned long > |
class | csHashComputer< void * > |
csHashComputer<> specialization for an integral type. More... | |
class | csHashComputer< void * > |
csHashComputer<> specialization for an integral type. More... | |
class | csHashComputerIntegral< T > |
Template for hash value computing, suitable for integral types and types that can be casted to such. More... | |
class | csHashComputerString< T > |
Template that can be used as a base class for hash computers for string types (must support cast to const char*). More... | |
class | csHashComputerStruct< T > |
Template that can be used as a base class for hash computers for POD structs. More... | |
class | csHashReversible< T, K > |
A csHash<> that maintains a reverse hash for indexing keys by values. More... | |
class | csMemoryPool |
A quick-allocation pool for storage of arbitrary data. More... | |
class | csPtrKey< T > |
A helper template to use pointers as keys for hashes. More... | |
class | csRedBlackTree< K > |
A red-black-tree. More... | |
class | csRedBlackTreeMap< K, T > |
Key-value-map, backed by csRedBlackTree. More... | |
class | csRedBlackTreePayload< K, T > |
Helper template to allow storage of a payload together with a key in a csRedBlackTree. More... | |
class | csRefArrayObject< T > |
This class implements a typed array that correctly keeps track of reference count and also is able to find by name. More... | |
class | csSafeCopyArray< T > |
Convenience class to make a version of csArray<> that does a safe-copy in case of reallocation of the array. More... | |
class | csSet< T, Allocator > |
This class implements a basic set for objects. More... | |
class | csStrKey |
This is a simple helper class to make a copy of a const char*. More... | |
struct | iArrayChangeAll< T > |
Array interface template, completely changeable. More... | |
struct | iArrayChangeElements< T > |
Array interface template, elements are changeable. More... | |
struct | iArrayReadOnly< T > |
Array interface template, read-only. More... | |
class | scfArray< IF, Backend > |
Implementation for iArrayReadOnly<>-, iArrayChangeElements<>- and iArrayChangeAll<>-derived interfaces, backed by a per-instance array. More... | |
class | scfArrayWrap< IF, Backend > |
Implementation for iArrayReadOnly<>-, iArrayChangeElements<>- and iArrayChangeAll<>-derived interfaces, backed by a reference to another array. More... | |
class | scfArrayWrapConst< IF, Backend > |
Implementation for iArrayReadOnly<>-derived interfaces, backed by a reference to another array. More... | |
Defines | |
#define | SCF_IARRAYCHANGEALL_INTERFACE(Name) SCF_INTERFACE(Name, 0, 0, 1) |
Macro to define interface version of an iArrayChangeAll-derived interface. | |
#define | SCF_IARRAYCHANGEELEMENTS_INTERFACE(Name) SCF_INTERFACE(Name, 0, 0, 1) |
Macro to define interface version of an iArrayChangeElements-derived interface. | |
#define | SCF_IARRAYREADONLY_INTERFACE(Name) SCF_INTERFACE(Name, 0, 0, 1) |
Macro to define interface version of an iArrayReadOnly-derived interface. | |
Functions | |
unsigned int | csHashCompute (char const *, size_t length) |
Compute a hash key for a string of a given length. | |
unsigned int | csHashCompute (char const *) |
Compute a hash key for a null-terminated string. | |
void | operator delete (void *, csMemoryPool *) |
void | operator delete (void *, csMemoryPool &) |
void * | operator new (size_t n, csMemoryPool *p) |
void * | operator new (size_t n, csMemoryPool &p) |
Convenience new operator which makes the allocation from a csMemoryPool rather than from the system heap. | |
scfArray::scfArray (iBase *scfParent) | |
scfArray::scfArray () | |
Construct with empty storage. | |
Variables | |
const size_t | csArrayItemNotFound = (size_t)-1 |
This value is returned whenever an array item could not be located or does not exist. |
Define Documentation
#define SCF_IARRAYCHANGEALL_INTERFACE | ( | Name | ) | SCF_INTERFACE(Name, 0, 0, 1) |
Macro to define interface version of an iArrayChangeAll-derived interface.
Use this instead of SCF_INTERFACE to automatically get version number bumps for your array interface in case the base iArrayChangeAll gets extended.
#define SCF_IARRAYCHANGEELEMENTS_INTERFACE | ( | Name | ) | SCF_INTERFACE(Name, 0, 0, 1) |
Macro to define interface version of an iArrayChangeElements-derived interface.
Use this instead of SCF_INTERFACE to automatically get version number bumps for your array interface in case the base iArrayChangeElements gets extended.
#define SCF_IARRAYREADONLY_INTERFACE | ( | Name | ) | SCF_INTERFACE(Name, 0, 0, 1) |
Macro to define interface version of an iArrayReadOnly-derived interface.
Use this instead of SCF_INTERFACE to automatically get version number bumps for your array interface in case the base iArrayReadOnly gets extended.
Function Documentation
unsigned int csHashCompute | ( | char const * | , | |
size_t | length | |||
) |
Compute a hash key for a string of a given length.
Note that these keys are non-unique; some dissimilar strings may generate the same key. For unique keys, see csStringSet.
unsigned int csHashCompute | ( | char const * | ) |
Compute a hash key for a null-terminated string.
Note that these keys are non-unique; some dissimilar strings may generate the same key. For unique keys, see csStringSet.
Referenced by csHashComputerStruct< T >::ComputeHash(), csHashComputerString< const char * >::ComputeHash(), and csStrKey::GetHash().
void* operator new | ( | size_t | n, | |
csMemoryPool & | p | |||
) | [inline] |
Convenience new
operator which makes the allocation from a csMemoryPool rather than from the system heap.
For instance, if pool
is a pointer or reference to a csMemoryPool, and you want to allocate an object of type FooBar from the csMemoryPool, then you can do this:
FooBar* foobar = new (pool) FooBar;
pool
, you should invoke foobar's
destructor as follows: foobar->~FooBar();
// ... it is now safe to destroy `pool' ...
Definition at line 132 of file mempool.h.
References csMemoryPool::Alloc().
Variable Documentation
const size_t csArrayItemNotFound = (size_t)-1 |
This value is returned whenever an array item could not be located or does not exist.
Definition at line 336 of file array.h.
Referenced by csPartialOrder< csStringID >::Add(), csPartialOrder< csStringID >::AddOrder(), csPartialOrder< csStringID >::ClearMark(), csPartialOrder< csStringID >::Contains(), csPartialOrder< csStringID >::CycleTest(), csPartialOrder< csStringID >::Delete(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Delete(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::DeleteFast(), csPartialOrder< csStringID >::DeleteOrder(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::DeleteRange(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::Find(), csRefArrayObject< T >::FindByName(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::FindKey(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::FindSortedKey(), csFixedSizeAllocator< sizeof(T), Allocator >::Free(), csFixedSizeAllocator< sizeof(T), Allocator >::GetAllocationMap(), csRefArrayObject< T >::GetIndexByName(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::InsertSorted(), csPartialOrder< csStringID >::IsEnabled(), csPartialOrder< csStringID >::IsMarked(), csPartialOrder< csStringID >::Mark(), csArray< unsigned int, csArrayElementHandler< unsigned int > >::PushSmart(), csTreeNode::RemoveChild(), scfImplementation< csBaseTextureFactory >::RemoveRefOwner(), csPartialOrder< csStringID >::SanityCheck(), and csFixedSizeAllocator< sizeof(T), Allocator >::TryFree().
Generated for Crystal Space by doxygen 1.4.7