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
프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.
Wwise를 시작해 보세요