parent
							
								
									a8c4324d3c
								
							
						
					
					
						commit
						c545f1ed8f
					
				@ -1,39 +0,0 @@
 | 
				
			||||
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
 | 
				
			||||
//
 | 
				
			||||
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||
// you may not use this file except in compliance with the License.
 | 
				
			||||
// You may obtain a copy of the License at
 | 
				
			||||
//
 | 
				
			||||
//     http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||
//
 | 
				
			||||
// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||
// See the License for the specific language governing permissions and
 | 
				
			||||
// limitations under the License.
 | 
				
			||||
 | 
				
			||||
#include "paddle/fluid/operators/reader/compose_reader.h"
 | 
				
			||||
 | 
				
			||||
namespace paddle {
 | 
				
			||||
namespace operators {
 | 
				
			||||
namespace reader {
 | 
				
			||||
 | 
				
			||||
ComposeReader::ComposeReader(
 | 
				
			||||
    const std::vector<std::shared_ptr<framework::ReaderBase>> &readers)
 | 
				
			||||
    : framework::MultiDecoratedReader(readers) {}
 | 
				
			||||
 | 
				
			||||
void ComposeReader::ReadNext(std::vector<framework::LoDTensor> *out) {
 | 
				
			||||
  out->clear();
 | 
				
			||||
  std::vector<framework::LoDTensor> each_ret;
 | 
				
			||||
  for (auto &r : readers_) {
 | 
				
			||||
    r->ReadNext(&each_ret);
 | 
				
			||||
    out->reserve(out->size() + each_ret.size());
 | 
				
			||||
    for (auto &data : each_ret) {
 | 
				
			||||
      out->emplace_back(std::move(data));
 | 
				
			||||
    }
 | 
				
			||||
  }
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
}  // namespace reader
 | 
				
			||||
}  // namespace operators
 | 
				
			||||
}  // namespace paddle
 | 
				
			||||
@ -1,34 +0,0 @@
 | 
				
			||||
// Copyright (c) 2019 PaddlePaddle Authors. All Rights Reserved.
 | 
				
			||||
//
 | 
				
			||||
// Licensed under the Apache License, Version 2.0 (the "License");
 | 
				
			||||
// you may not use this file except in compliance with the License.
 | 
				
			||||
// You may obtain a copy of the License at
 | 
				
			||||
//
 | 
				
			||||
//     http://www.apache.org/licenses/LICENSE-2.0
 | 
				
			||||
//
 | 
				
			||||
// Unless required by applicable law or agreed to in writing, software
 | 
				
			||||
// distributed under the License is distributed on an "AS IS" BASIS,
 | 
				
			||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
				
			||||
// See the License for the specific language governing permissions and
 | 
				
			||||
// limitations under the License.
 | 
				
			||||
 | 
				
			||||
#pragma once
 | 
				
			||||
 | 
				
			||||
#include <vector>
 | 
				
			||||
#include "paddle/fluid/framework/reader.h"
 | 
				
			||||
 | 
				
			||||
namespace paddle {
 | 
				
			||||
namespace operators {
 | 
				
			||||
namespace reader {
 | 
				
			||||
 | 
				
			||||
class ComposeReader : public framework::MultiDecoratedReader {
 | 
				
			||||
 public:
 | 
				
			||||
  explicit ComposeReader(
 | 
				
			||||
      const std::vector<std::shared_ptr<framework::ReaderBase>> &readers);
 | 
				
			||||
 | 
				
			||||
  void ReadNext(std::vector<framework::LoDTensor> *out) override;
 | 
				
			||||
};
 | 
				
			||||
 | 
				
			||||
}  // namespace reader
 | 
				
			||||
}  // namespace operators
 | 
				
			||||
}  // namespace paddle
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue