00001 00002 // 00003 // Copyright (c) 2006 Audiokinetic Inc. / All Rights Reserved 00004 // 00006 00009 00010 #ifndef _AK_WWISE_SOURCECONTROLCONTAINERS_H 00011 #define _AK_WWISE_SOURCECONTROLCONTAINERS_H 00012 00013 // Audiokinetic namespace 00014 namespace AK 00015 { 00016 // Audiokinetic Wwise namespace 00017 namespace Wwise 00018 { 00019 namespace SourceControlContainers 00020 { 00022 struct __AkPos{}; 00024 typedef __AkPos* AkPos; 00025 00026 // IAkList 00035 template <class Type, class Arg_Type = const Type&> 00036 class IAkList 00037 { 00038 public: 00039 virtual unsigned int GetCount() const = 0; 00040 virtual unsigned int GetSize() const = 0; 00041 virtual bool IsEmpty() const = 0; 00042 00043 virtual AkPos AddHead( Arg_Type in_newElement ) = 0; 00044 virtual AkPos AddTail( Arg_Type in_newElement ) = 0; 00045 00046 virtual void RemoveHead() = 0; 00047 virtual void RemoveTail() = 0; 00048 virtual void RemoveAt( AkPos in_position ) = 0; 00049 virtual void RemoveAll() = 0; 00050 00051 virtual Type& GetHead() = 0; 00052 virtual const Type& GetHead() const = 0; 00053 virtual Type& GetTail() = 0; 00054 virtual const Type& GetTail() const = 0; 00055 virtual AkPos GetHeadPosition() const = 0; 00056 virtual AkPos GetTailPosition() const = 0; 00057 virtual Type& GetNext( AkPos& in_rPosition ) = 0; 00058 virtual const Type& GetNext( AkPos& in_rPosition ) const = 0; 00059 virtual Type& GetPrev( AkPos& in_rPosition ) = 0; 00060 virtual const Type& GetPrev( AkPos& in_rPosition ) const = 0; 00061 virtual Type& GetAt( AkPos in_position ) = 0; 00062 virtual const Type& GetAt( AkPos in_position ) const = 0; 00063 00064 virtual void SetAt( AkPos in_pos, Arg_Type in_newElement ) = 0; 00065 virtual AkPos InsertBefore( AkPos in_position, Arg_Type in_newElement ) = 0; 00066 virtual AkPos InsertAfter( AkPos in_position, Arg_Type in_newElement ) = 0; 00067 }; 00068 00069 // IAkMap 00080 template <class Key, class Arg_Key, class Value, class Arg_Value> 00081 class IAkMap 00082 { 00083 public: 00084 virtual unsigned int GetCount() const = 0; 00085 virtual unsigned int GetSize() const = 0; 00086 virtual bool IsEmpty() const = 0; 00087 00088 virtual bool Lookup( Arg_Key in_key, Value& in_rValue ) const = 0; 00089 00090 virtual Value& operator[]( Arg_Key in_key ) = 0; 00091 virtual void SetAt( Arg_Key in_key, Arg_Value in_newValue ) = 0; 00092 00093 virtual bool RemoveKey( Arg_Key in_key ) = 0; 00094 virtual void RemoveAll() = 0; 00095 00096 virtual AkPos GetStartPosition() const = 0; 00097 virtual void GetNextAssoc( AkPos& in_rNextPosition, Key& in_rKey, Value& in_rValue ) const = 0; 00098 }; 00099 }; 00100 } 00101 } 00102 00103 #endif // _AK_WWISE_SOURCECONTROLCONTAINERS_H
Questions? Problems? Need more info? Contact us, and we can help!
Visit our Support pageRegister your project and we'll help you get started with no strings attached!
Get started with Wwise