GenericContainerInterface Class Reference
#include <containerbase.h>
Public Types |
|
enum |
INTERFACES
{
NONE , SINGLETON_CONTAINER , ARRAY_CONTAINER , XFORM_CONTAINER , CONCAT_CONTAINER , STATIC_ARRAY , V_ARRAY , ARRAY , SINGLE_VALUE_ARRAY } |
using | GenericContainerInterfaceMarker = void |
Public Attributes |
|
MAXON_METHOD_RESERVE |
私有成员函数 |
|
MAXON_INTERFACE_SIMPLE_VIRTUAL ( GenericContainerInterface , MAXON_REFERENCE_COPY_ON_WRITE ) | |
MAXON_GENERIC (( ContainerVariance ) typename T= NamedTuple <>) |
using GenericContainerInterfaceMarker = void |
|
strong |
Enumerator | |
---|---|
NONE | |
SINGLETON_CONTAINER | |
ARRAY_CONTAINER | |
XFORM_CONTAINER | |
CONCAT_CONTAINER | |
STATIC_ARRAY | |
V_ARRAY | |
ARRAY | |
SINGLE_VALUE_ARRAY |
|
private |
|
private |
enum maxon::GenericContainerInterface::INTERFACES MAXON_ENUM_FLAGS_CLASS | ( | INTERFACES | ) |
const MAXON_METHOD ContainerDataType & GetContainerType | ( | ) | const |
MAXON_METHOD INTERFACES GetInterfaces | ( | ) | const |
MAXON_METHOD Result < GenericContainerInterface *> MakeWritable | ( | Bool |
cloneElements
=
true
|
) | const |
Returns a writable copy of this container. This may return a different implementation of the interface if the current implementation only supports read-only access (for example a container implementation where all elements have the same value). If there's just a single reference to the container, the container itself may be returned.
[in] | cloneElements | True if also the elements shall be cloned, false otherwise (then just a new object with a writable implementation is created). |
MAXON_METHOD Result < GenericContainerInterface *> Clone | ( | Bool |
cloneElements
=
true
|
) | const |
MAXON_METHOD String ToString | ( | const FormatStatement * |
formatStatement
=
nullptr
|
) | const |
MAXON_METHOD HashInt GetHashCode | ( | ) | const |
MAXON_METHOD HashValue GetHashValue | ( | ) | const |
MAXON_METHOD Bool IsEqual | ( | const GenericContainerInterface * | other , |
EQUALITY | equality | ||
) | const |
MAXON_METHOD Int FindMemberIndex | ( | const InternedId & | name | ) | const |
Finds the member index of the member with the given #name in this. If no such member can be found, -1 is returned.
[in] | name | Name of the member to find. |
MAXON_FUNCTION Int FindMemberIndex | ( | const Member & | member | ) | const |
MAXON_METHOD Result < Int > GetCount | ( | ) | const |
MAXON_METHOD Int GetIteratorStateSize | ( | const MemberMap * | map | ) | const |
@MAXON_ANNOTATION{refclass=false}
MAXON_METHOD Result < Int > InitIterator | ( | ViewIteratorMember * | members , |
const MemberMap * | map , | ||
Char * | state , | ||
PersistentIdBuffer * | idBuffer | ||
) | const |
@MAXON_ANNOTATION{refclass=false}
MAXON_METHOD Result < Int > ValidateIterator | ( | Int | index , |
ViewIteratorMember * | members , | ||
const MemberMap * | map , | ||
Char * | state , | ||
PersistentIdBuffer * | idBuffer | ||
) | const |
@MAXON_ANNOTATION{refclass=false}
MAXON_METHOD void FreeIterator | ( | ViewIteratorMember * | members , |
const MemberMap * | map , | ||
Char * | state , | ||
PersistentIdBuffer * | idBuffer | ||
) | const |
@MAXON_ANNOTATION{refclass=false}
MAXON_METHOD Result < Int > MoveIterator | ( | Int | index , |
ViewIteratorMember * | members , | ||
const MemberMap * | map , | ||
Char * | state , | ||
PersistentIdBuffer * | idBuffer | ||
) | const |
@MAXON_ANNOTATION{refclass=false}
MAXON_METHOD Result <void> AdvancePersistentId | ( | Int | index , |
const Char * | state , | ||
PersistentIdBuffer & | idBuffer | ||
) | const |
@MAXON_ANNOTATION{refclass=false}
MAXON_ADD_TO_CONST_REFERENCE_CLASS | ( | using |
Iterator
=
maxon::details::ContainerIterator< T, false >;using ConstIterator=maxon::details::ContainerIterator< T, true >;
|
) |
MAXON_METHOD_RESERVE |