IODA Bundle
DecodeTarget.h
Go to the documentation of this file.
1 /*
2  * (C) Copyright 1996-2018 ECMWF.
3  *
4  * This software is licensed under the terms of the Apache Licence Version 2.0
5  * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
6  * In applying this licence, ECMWF does not waive the privileges and immunities
7  * granted to it by virtue of its status as an intergovernmental organisation nor
8  * does it submit to any jurisdiction.
9  */
10 
11 /// @author Simon Smart
12 /// @date Dec 2018
13 
14 #ifndef odc_core_DecodeTarget_H
15 #define odc_core_DecodeTarget_H
16 
17 #include <vector>
18 
19 #include "odc/api/StridedData.h"
20 
21 
22 namespace odc {
23 namespace core {
24 
25 //----------------------------------------------------------------------------------------------------------------------
26 
27 
28 class DecodeTarget {
29 
30 public: // methods
31 
32  DecodeTarget(const std::vector<std::string> & columns,
33  const std::vector<api::StridedData>& facades);
34  DecodeTarget(const std::vector<std::string> & columns,
35  std::vector<api::StridedData>&& facades);
36  ~DecodeTarget();
37 
38  const std::vector<std::string>& columns() const;
39  std::vector<api::StridedData>& dataFacades();
40 
41  DecodeTarget slice(size_t rowOffset, size_t nrows);
42 
43 private: // members
44 
45  std::vector<std::string> columns_;
46  std::vector<api::StridedData> columnFacades_;
47 };
48 
49 
50 //----------------------------------------------------------------------------------------------------------------------
51 
52 } // namespace core
53 } // namespace odc
54 
55 #endif
std::vector< std::string > columns_
Definition: DecodeTarget.h:45
const std::vector< std::string > & columns() const
Definition: DecodeTarget.cc:31
DecodeTarget slice(size_t rowOffset, size_t nrows)
Definition: DecodeTarget.cc:39
std::vector< api::StridedData > columnFacades_
Definition: DecodeTarget.h:46
std::vector< api::StridedData > & dataFacades()
Definition: DecodeTarget.cc:35
DecodeTarget(const std::vector< std::string > &columns, const std::vector< api::StridedData > &facades)
Definition: DecodeTarget.cc:19
Definition: ColumnInfo.h:23