20#ifndef OPM_IORDER_SET_HPP
21#define OPM_IORDER_SET_HPP
27#include <unordered_set>
66 return this->m_index.size();
70 return (this->
size() == 0);
74 return this->m_index.count(
value);
78 return (this->
count(value) != 0);
85 this->m_index.insert(
value);
86 this->m_data.push_back(
value);
94 this->m_index.erase(
value);
95 auto data_iter = std::find(this->m_data.begin(), this->m_data.end(),
value);
96 this->m_data.erase(data_iter);
101 return this->m_data.begin();
105 return this->m_data.end();
109 return this->m_data.at(i);
112 const std::vector<T>&
data()
const {
117 return this->m_index ==
data.m_index &&
121 template<
class Serializer>
int index
Definition: cJSON.h:168
Definition: IOrderSet.hpp:48
std::size_t size() const
Definition: IOrderSet.hpp:65
const T & operator[](std::size_t i) const
Definition: IOrderSet.hpp:108
const_iter_type begin() const
Definition: IOrderSet.hpp:100
bool empty() const
Definition: IOrderSet.hpp:69
std::size_t erase(const T &value)
Definition: IOrderSet.hpp:90
const_iter_type end() const
Definition: IOrderSet.hpp:104
bool insert(const T &value)
Definition: IOrderSet.hpp:81
typename std::vector< T > storage_type
Definition: IOrderSet.hpp:50
bool contains(const T &value) const
Definition: IOrderSet.hpp:77
typename std::unordered_set< T > index_type
Definition: IOrderSet.hpp:51
void serializeOp(Serializer &serializer)
Definition: IOrderSet.hpp:122
typename storage_type::const_iterator const_iter_type
Definition: IOrderSet.hpp:52
const std::vector< T > & data() const
Definition: IOrderSet.hpp:112
std::size_t count(const T &value) const
Definition: IOrderSet.hpp:73
IOrderSet(const index_type &index, const storage_type &data)
Definition: IOrderSet.hpp:60
bool operator==(const IOrderSet< T > &data) const
Definition: IOrderSet.hpp:116
Definition: Serializer.hpp:38
T value(details::expression_node< T > *n)
Definition: exprtk.hpp:12955