//fct(2); // not supported: attempting to reference a deleted function
//fctc(1); // not supported: attempting to reference a deleted function
// getInt()
//fct( getInt() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( T && value )
//fctc( getInt() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( typename std::remove_const<T>::type && value )
inti0=1;
fct(i0);
fctc(i0);
constinti1=2;
//fct(i1); // not supported: cannot convert argument 1 from 'const int' to 'vk::ArrayProxyNoTemporaries<int>'
fctc(i1);
// count, T *
int*i0p=&i0;
fct({1,i0p});
fctc({1,i0p});
// count, T const*
intconst*i1p=&i1;
//fct({ 1, i1p }); // not supported: cannot convert argument 1 from 'initializer list' to 'vk::ArrayProxyNoTemporaries<int>'
fctc({1,i1p});
// std::array<T,N>
std::array<int,2>sa0={0,1};
fct(sa0);
fctc(sa0);
// std::array<const T,N>
std::array<constint,2>sa1={0,1};
//fct(sa1); // not supported: cannot convert argument 1 from 'std::array<const int,2>' to 'vk::ArrayProxyNoTemporaries<int>'
fctc(sa1);
// std::array<T,N> const
std::array<int,2>constsa2={1,2};
//fct(sa2); // not supported: cannot convert from 'const int *' to 'int *'
fctc(sa2);
// std::array<const T,N> const
std::array<constint,2>constsa3={1,2};
//fct(sa3); // not supported: cannot convert argument 1 from 'const std::array<const int,2>' to 'vk::ArrayProxyNoTemporaries<int>'
fctc(sa3);
// getArray
//fct( getConstArray() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::array<T, N> const && data )
//fctc( getConstArray() ); // // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type> const && data )
//fct( getArray() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::array<T, N> && data )
//fctc( getArray() ); // // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::array<typename std::remove_const<T>::type, N> && data )
// from std::array constructors
vk::ArrayProxyNoTemporaries<int>ap2=sa0;
assert(ap2.size()==2);
//vk::ArrayProxyNoTemporaries<int> ap3 = sa1; // not supported: cannot convert from 'std::array<const int,2>' to 'vk::ArrayProxyNoTemporaries<int>'
//vk::ArrayProxyNoTemporaries<int> ap4 = sa2; // not supported: cannot convert from 'int *' to 'int *'
//vk::ArrayProxyNoTemporaries<int> ap5 = sa3; // not supported: cannot convert from 'const std::array<const int,2>' to 'vk::ArrayProxyNoTemporaries<int>'
vk::ArrayProxyNoTemporaries<constint>ap6=sa0;
assert(ap6.size()==2);
vk::ArrayProxyNoTemporaries<constint>ap7=sa1;
assert(ap7.size()==2);
vk::ArrayProxyNoTemporaries<constint>ap8=sa2;
assert(ap8.size()==2);
vk::ArrayProxyNoTemporaries<constint>ap9=sa3;
assert(ap9.size()==2);
// std::vector<T>
std::vector<int>sv0={0,1};
fct(sv0);
fctc(sv0);
// std::vector<T> const
std::vector<int>constsv1={0,1};
//fct(sv1); // not supported: cannot convert from 'const int *' to 'int *'
fctc(sv1);
vk::ArrayProxyNoTemporaries<int>ap10=sv0;
assert(ap10.size()==2);
//vk::ArrayProxyNoTemporaries<int> ap11 = sv1; // not supported: cannot convert from 'int *' to 'int *'
// getVector
//fct( getConstVector() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::vector<T, Allocator> const && data )
//fctc( getConstVector() ); // // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type, Allocator> const && data )
//fct( getVector() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::vector<T> && data )
//fctc( getVector() ); // // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::vector<typename std::remove_const<T>::type> && data )
vk::ArrayProxyNoTemporaries<constint>ap12=sv0;
assert(ap12.size()==2);
vk::ArrayProxyNoTemporaries<constint>ap13=sv1;
assert(ap13.size()==2);
// std::initializer_list
fct({});
fctc({});
//fct({ 0, 1 }); // not supported: cannot convert argument 1 from 'initializer list' to 'vk::ArrayProxyNoTemporaries<int>'
//fctc({ 0, 1 }); // not supported: cannot convert argument 1 from 'initializer list' to 'vk::ArrayProxyNoTemporaries<const int32_t>'
//int a = 0;
//int b = 1;
//fct({ a, b }); // not supported: cannot convert argument 1 from 'initializer list' to 'vk::ArrayProxyNoTemporaries<int>'
//fctc({ a,b }); // not supported: cannot convert argument 1 from 'initializer list' to 'vk::ArrayProxyNoTemporaries<const int32_t>'
autoil0={0,1};// -> std::initializer_list<int>
//fct(il0); // not supported: cannot convert from 'const int *' to 'int *'
fctc(il0);
std::initializer_list<int>il1={0,1};
//fct(il1); // not supported: cannot convert from 'const int *' to 'int *'
fctc(il1);
std::initializer_list<constint>il2={0,1};
//fct(il2); // not supported: cannot convert argument 1 from 'std::initializer_list<const int>' to 'vk::ArrayProxyNoTemporaries<int>'
fctc(il2);
std::initializer_list<int>constil3={0,1};
//fct(il3); // not supported: cannot convert from 'const int *' to 'int *'
fctc(il3);
std::initializer_list<constint>constil4={0,1};
//fct(il4); // not supported: cannot convert argument 1 from 'const std::initializer_list<const int>' to 'vk::ArrayProxyNoTemporaries<int>'
fctc(il4);
// getInitializerList
//fct( getConstInitializerList() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::initializer_list<T> const && list )
//fctc( getConstInitializerList() ); // // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> const && list )
//fct( getInitializerList() ); // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::initializer_list<T> && list )
//fctc( getInitializerList() ); // // not supported: attempting to reference a deleted function: ArrayProxyNoTemporaries( std::initializer_list<typename std::remove_const<T>::type> && list )
//vk::ArrayProxyNoTemporaries<int> ap14 = il1; // not supported: cannot convert from 'const int *' to 'int *'
//vk::ArrayProxyNoTemporaries<int> ap15 = il2; // not supported: cannot convert from 'std::initializer_list<const int>' to 'vk::ArrayProxyNoTemporaries<int>'
//vk::ArrayProxyNoTemporaries<int> ap16 = il3; // not supported: cannot convert from 'const int *' to 'int *'
//vk::ArrayProxyNoTemporaries<int> ap17 = il4; // not supported: cannot convert from 'const std::initializer_list<const int>' to 'vk::ArrayProxyNoTemporaries<int>'