OmniSciDB  d2f719934e
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Restriction.h
Go to the documentation of this file.
1 /*
2  * Copyright 2021 OmniSci, Inc.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
25 #pragma once
26 
27 #include <boost/algorithm/string.hpp>
28 #include <cstdint>
29 #include "Logger/Logger.h"
30 
31 struct Restriction {
32  std::string column;
33  std::vector<std::string> values;
34 
36 
37  Restriction(const std::string& c, const std::vector<std::string> v) {
38  column = c;
39  values = v;
40  };
41 
42  friend std::ostream& operator<<(std::ostream& out, const Restriction& restriction) {
43  out << "Restriction(" << restriction.column << " ["
44  << boost::algorithm::join(restriction.values, ",") << "])";
45  return out;
46  }
47 };
std::string column
Definition: Restriction.h:32
std::string join(T const &container, std::string const &delim)
std::vector< std::string > values
Definition: Restriction.h:33
friend std::ostream & operator<<(std::ostream &out, const Restriction &restriction)
Definition: Restriction.h:42
Restriction(const std::string &c, const std::vector< std::string > v)
Definition: Restriction.h:37