Version
menu_open
link

include/AK/Wwise/SourceControl/SourceControlContainers.h

Go to the documentation of this file.
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

Was this page helpful?

Need Support?

Questions? Problems? Need more info? Contact us, and we can help!

Visit our Support page

Tell us about your project. We're here to help.

Register your project and we'll help you get started with no strings attached!

Get started with Wwise