Commit Graph

30 Commits

Author SHA1 Message Date
Joakim Hove
6dc84b67df Remove homemade optional - use std::optional 2020-10-01 13:53:58 +02:00
Arne Morten Kvarving
12889a675d remove accessors in IOrderSet added for external serialization 2020-03-19 09:34:12 +01:00
Arne Morten Kvarving
d25220ba4e add serialization template to IOrderSet 2020-03-19 09:34:12 +01:00
Arne Morten Kvarving
55c9822c1c add serialization template to OrderedMap 2020-03-16 11:43:29 +01:00
Arne Morten Kvarving
45af93cd93 make Value default constructible 2020-02-28 10:25:10 +01:00
Arne Morten Kvarving
df5baad233 fixed: return by const ref 2020-01-17 10:08:50 +01:00
Arne Morten Kvarving
0fc57a2bd8 make IOrderSet constructible from variables
also make it default constructible, add accessors
and equality operator
2020-01-02 09:17:33 +01:00
Arne Morten Kvarving
5237dad89a allow constructing OrderedMap from tables
also make typedefs public, add accessors and equality operator
2019-12-16 14:44:36 +01:00
Joakim Hove
12294cb637 Initialize Group2 structure during Schedule construction 2019-07-30 09:36:48 +02:00
Joakim Hove
f386404408 Add insert ordered set 2019-07-24 14:52:49 +02:00
Joakim Hove
f80b220b44 Change OrderMap to more closely resemble std::map
- Removed the hasKey() and get() methods.
 - Key type is a template parameter
 - insert takes a pair
 - implement count()
 - implement find()
 - implement operator[]
 - implement erase
2019-03-11 10:34:04 +01:00
Joakim Hove
0dbabc19ca Added at() method to orderedmap. 2018-03-18 19:24:48 +01:00
Arne Morten Kvarving
18f15e7432 mark constructors as explicit 2017-06-09 17:38:42 +02:00
Jørgen Kvalsvik
e884b0664c Redesign cmake
Tune the makefile according to new principles, which adds a few bells
and whistles and for clarity.

Synopsis:

* The dependency on opm-common is completely gone. This is reflected in
  travis and appveyor as well. No non-kitware cmake modules are used.
* Directories are flattened, quite a bit - source code is located in the
  lib/ directory if it belongs to opm-parser, and external/ if third
  party.
* The sibling build feature is implemented through cmake's
  export(PACKAGE) rather than implicitly looking through source files.
* Targets explicitly set required public and private include
  directories, compile options and definitions, which cmake will handle
  and propagate
* opm-parser-config.cmake for downstream users is now provided.
* Dependencies are set up using targets. In the future, when cmake 3.x+
  can be used, these should be either targets from newer Find modules,
  or interface libraries.
* Fewer system specific assumptions are coded in, instead we assume
  cmake or users set up system specific details.
* All module wide configuration and looking up libraries is handled in
  the root makefile - all sub directories only set up libraries and
  compile options for the module in question.
* Targets are defined and links handled transitively because cmake now
  is told about them. ${module_LIBRARIES} variables are gone.

This is largely guided by the principles outlined in
https://rix0r.nl/blog/2015/08/13/cmake-guide/

Most source files are just moved - if they have some content change then
it's nothing more than include fixes or similar in order to make them
compile.
2017-06-01 15:29:23 +02:00
Jørgen Kvalsvik
946cc18f3a Schedule.wells are no longer shared_ptrs 2016-12-01 16:17:25 +01:00
Jørgen Kvalsvik
fdb772e075 DeckItem without internal inheritance.
Replaces the internal inheritance + unique_ptr scheme to a flat sum type
similar scheme that uses a tag to determine which operations are legal,
rather than using the indirection itself as a tag.
2016-11-07 12:24:38 +01:00
Jørgen Kvalsvik
0059446147 Make Completion+CompletionSet no longer use shared_ptr 2016-10-19 20:38:28 +02:00
Jørgen Kvalsvik
7a13488fb1 Make SimpleTable no longer use shared_ptr 2016-10-19 20:38:28 +02:00
Andreas Lauser
92a55cb267 avoid reserved names for guard macros
just like for macros that start and end with `__`, `clang++
-Weverything` likes to complain about macros which start and end with
a single underscore. This is basically the same issue as
Ensembles/ert#1048
2016-04-14 17:19:37 +02:00
Joakim Hove
a85bac0034 Changes in const'ness 2015-12-21 15:30:14 +01:00
Joakim Hove
e6f9843882 Updated error message. 2015-11-09 12:05:10 +01:00
Joakim Hove
138e27fd92 Renamed ElasticVector -> RecordVector 2015-09-29 08:08:57 +02:00
Arne Morten Kvarving
2acd2db5d0 changed: rename Parser to opmparser for consistency 2015-05-26 13:53:54 +02:00
Arne Morten Kvarving
9e96127705 change how tests are added in the build system
- use a opm-macro to reduce code duplication
- add a 'test-suite' target which builds tests. for use if BUILD_TESTING
  is 0.
- add a 'check' target which builds tests, then executes them
2015-05-26 13:07:44 +02:00
Joakim Hove
3c84bbbdca Added begin() end() to ElasticVector 2015-03-03 13:30:41 +01:00
Joakim Hove
091acd1dd7 Added utility ElasticVector 2015-02-20 00:16:31 +01:00
Andreas Lauser
ea38a25af4 remove all trailing white space
this is just the result of

```
find -iname "*.[ch]pp" | xargs sed -i "s/ *$//"
find opm/parser/share/keywords -type f |  xargs sed -i "s/ *$//"
```

so if it causes conflicts with other patches, the others should get
priority. The rationale behind this patch is that some people tell
their editor to remove white space which leads to larger than
necessary patches...
2014-12-08 16:34:28 +01:00
Joakim Hove
be32f91004 Changed Completion to use Value<double>. 2014-09-04 22:10:16 +02:00
Joakim Hove
c08770c853 Added class Value<T>
The class Value<T> will keep track of a named variable, and whether that
particular value has been explicitly initialized. Will throw
std::logic_error if trying to use an unitialized value.
2014-09-04 22:10:09 +02:00
Joakim Hove
c1f42aee64 Moved OrderMap to EclipseState/Util 2014-09-04 14:09:33 +02:00