diff --git a/uppsrc/Core/Range.h b/uppsrc/Core/Range.h index 944d8c0d5..2fb0138fa 100644 --- a/uppsrc/Core/Range.h +++ b/uppsrc/Core/Range.h @@ -45,6 +45,12 @@ auto SubRange(C& c, int pos, int count) -> decltype(SubRange(c.begin() + pos, co return SubRange(c.begin() + pos, count); } +template +auto SubRange(const C& c, int pos, int count) -> decltype(SubRange(c.begin() + pos, count)) +{ + return SubRange(c.begin() + pos, count); +} + template struct ConstRangeClass { T value; diff --git a/uppsrc/Core/Vcont.h b/uppsrc/Core/Vcont.h index 8c03e1db0..6231e241b 100644 --- a/uppsrc/Core/Vcont.h +++ b/uppsrc/Core/Vcont.h @@ -180,7 +180,7 @@ public: void operator=(Vector&& v) { if(this != &v) { Free(); Pick(pick(v)); } } void Insert(int i, std::initializer_list init); - void Append(int i, std::initializer_list init) { Insert(GetCount(), init); } + void Append(std::initializer_list init) { Insert(GetCount(), init); } Vector(std::initializer_list init) { vector = NULL; items = alloc = 0; Insert(0, init); } // Deep copy diff --git a/uppsrc/Core/src.tpp/Vector$en-us.tpp b/uppsrc/Core/src.tpp/Vector$en-us.tpp index 47667cbc7..507e422e7 100644 --- a/uppsrc/Core/src.tpp/Vector$en-us.tpp +++ b/uppsrc/Core/src.tpp/Vector$en-us.tpp @@ -366,9 +366,8 @@ copy constructor for T, but destroys source Vector.&] [s2; Inserts C`+`+11 style initialization list.&] [s3;%- &] [s4;%- &] -[s5;:Upp`:`:Vector`:`:Append`(int`,std`:`:initializer`_list``):%- [@(0.0.255) void]_ -[* Append]([@(0.0.255) int]_[*@3 i], [_^std`:`:initializer`_list^ std`::initializer`_list]< -[*@4 T]>_[*@3 init])&] +[s5;:Upp`:`:Vector`:`:Append`(std`:`:initializer`_list``):%- [@(0.0.255) void]_[* App +end](std`::initializer`_list<[*@4 T]>_[*@3 init])&] [s2; Appends C`+`+11 style initialization list.&] [s3;%- &] [s4;%- &]