7#ifndef MI_NEURAYLIB_IDYNAMIC_ARRAY_H
8#define MI_NEURAYLIB_IDYNAMIC_ARRAY_H
14namespace neuraylib {
class IFactory; }
34 public base::Interface_declare<0x575af5ad,0xc7c8,0x44a1,0x92,0xb2,0xe5,0x5d,0x5b,0x9a,0x90,0xff,
128 if ( !ptr_iinterface)
130 const T* ptr_T =
static_cast<const T*
>( ptr_iinterface->
get_interface(
typename T::IID()));
153 if ( !ptr_iinterface)
155 T* ptr_T =
static_cast<T*
>( ptr_iinterface->
get_interface(
typename T::IID()));
178 if ( !ptr_iinterface)
180 const T* ptr_T =
static_cast<const T*
>( ptr_iinterface->
get_interface(
typename T::IID()));
203 if ( !ptr_iinterface)
205 T* ptr_T =
static_cast<T*
>( ptr_iinterface->
get_interface(
typename T::IID()));
This interface represents dynamic arrays, i.e., arrays with a variable number of elements.
Definition: idynamic_array.h:36
T * back()
Returns the last element of the array.
Definition: idynamic_array.h:150
virtual base::IInterface * front()=0
Returns the first element of the array.
T * front()
Returns the first element of the array.
Definition: idynamic_array.h:200
virtual void clear()=0
Sets the size of the array to zero.
virtual base::IInterface * back()=0
Returns the last element of the array.
virtual Sint32 erase(Size index)=0
Removes the element stored at the given index.
virtual void set_length(Size size)=0
Sets the size of the array to size.
virtual const base::IInterface * back() const =0
Returns the last element of the array.
virtual Sint32 pop_back()=0
Removes the last element from the array and decreases the array size by one.
virtual Sint32 push_back(base::IInterface *element)=0
Stores the given element at the end of the array.
virtual Sint32 insert(Size index, base::IInterface *element)=0
Inserts the given element at the given index.
const T * back() const
Returns the last element of the array.
Definition: idynamic_array.h:125
const T * front() const
Returns the first element of the array.
Definition: idynamic_array.h:175
virtual const base::IInterface * front() const =0
Returns the first element of the array.
The basic extensible interface.
Definition: iinterface.h:103
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
virtual const IInterface * get_interface(const Uuid &interface_id) const =0
Acquires a const interface from another.
virtual Uint32 release() const =0
Decrements the reference count.
Uint64 Size
Unsigned integral type that is large enough to hold the size of all types.
Definition: types.h:112
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: dice.h:89