| Index: mojo/public/cpp/bindings/array.h
|
| diff --git a/mojo/public/cpp/bindings/array.h b/mojo/public/cpp/bindings/array.h
|
| index daf7125bb3c57d7e6355b64c9549ce91be25fbc7..9b5aff898587ca71bb04ee1dda0f04c1d35f70cc 100644
|
| --- a/mojo/public/cpp/bindings/array.h
|
| +++ b/mojo/public/cpp/bindings/array.h
|
| @@ -50,12 +50,12 @@ class Array {
|
|
|
| template <typename U>
|
| static Array From(const U& other) {
|
| - return TypeConverter<Array, U>::ConvertFrom(other);
|
| + return TypeConverter<Array, U>::Convert(other);
|
| }
|
|
|
| template <typename U>
|
| U To() const {
|
| - return TypeConverter<Array, U>::ConvertTo(*this);
|
| + return TypeConverter<U, Array>::Convert(*this);
|
| }
|
|
|
| void reset() {
|
| @@ -119,20 +119,23 @@ class Array {
|
| };
|
|
|
| template <typename T, typename E>
|
| -class TypeConverter<Array<T>, std::vector<E> > {
|
| - public:
|
| - static Array<T> ConvertFrom(const std::vector<E>& input) {
|
| +struct TypeConverter<Array<T>, std::vector<E> > {
|
| + static Array<T> Convert(const std::vector<E>& input) {
|
| Array<T> result(input.size());
|
| for (size_t i = 0; i < input.size(); ++i)
|
| - result[i] = TypeConverter<T, E>::ConvertFrom(input[i]);
|
| + result[i] = TypeConverter<T, E>::Convert(input[i]);
|
| return result.Pass();
|
| }
|
| - static std::vector<E> ConvertTo(const Array<T>& input) {
|
| +};
|
| +
|
| +template <typename E, typename T>
|
| +struct TypeConverter<std::vector<E>, Array<T> > {
|
| + static std::vector<E> Convert(const Array<T>& input) {
|
| std::vector<E> result;
|
| if (!input.is_null()) {
|
| result.resize(input.size());
|
| for (size_t i = 0; i < input.size(); ++i)
|
| - result[i] = TypeConverter<T, E>::ConvertTo(input[i]);
|
| + result[i] = TypeConverter<E, T>::Convert(input[i]);
|
| }
|
| return result;
|
| }
|
|
|