{"push_id":1064158729,"size":37,"distinct_size":37,"ref":"refs/heads/internal-parser-procedure-use-ranges","head":"aa4ffc3fbaaf53ad8d48d4a41a5848254ccfb5d4","before":"89b5a8a379f547a5404a8f6ba0c974f20870d698","commits":[{"sha":"3257d4eca81b1a07652484f2bd8f7a6322fef9c2","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"InitUnitSystem private; constness managed by .get\n\nThe const_cast in Deck::get*UnitSystem are potentially undefined\nbehaviour under a series of (plausible) conditions, and are deprecated\nin favour of mutable members. Removes initUnitSystem from the public\ninterface, as the initialisation is handled on the first getUnitSystem\nanyway, cleaning up the Deck interface slightly.\n\nAdds proper constness to the use of unit systems that don't actually\nmodify the internal state in any way.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/3257d4eca81b1a07652484f2bd8f7a6322fef9c2"},{"sha":"9705fb53ebe68ca3f15c47df5d9431b96d8b730f","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"RawRecord internals use ranges over string methods\n\nRewrites the internal string mainpulation functions of RawRecord to use\nstd::algorithm and ranges over string methods.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/9705fb53ebe68ca3f15c47df5d9431b96d8b730f"},{"sha":"b2d4e4d09d51f14f4d172c80de18f32fcb566ec3","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Reimplementation of stripComments\n\nThe implementation has been rewritten to use iterators and renamed for\ninternal use. The public static function still exists for testability\nand easy verification, but should be considered an internal part of the\nparser.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/b2d4e4d09d51f14f4d172c80de18f32fcb566ec3"},{"sha":"5de2b699298a6d2bf55a23a00353a4e42875790a","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"trim_right replaced by trim\n\nAugment trim_right with the dual trim_left and their composition trim\nwhich strips all spaces from either side before the RawKeyword stage\nstarts.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/5de2b699298a6d2bf55a23a00353a4e42875790a"},{"sha":"956d2c060c27d0d8da6e4ef03bb3ae1a885ff2c3","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"ParseState early abort over if-else\n\nA small syntactic change that reduces indentation by a level. Checks the\npreconditions first and throws if they aren't met (i.e. stream is\nbroken).","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/956d2c060c27d0d8da6e4ef03bb3ae1a885ff2c3"},{"sha":"34b4bd13a5747560100aa6ff555b58c13d3ab1bc","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Reduce indentation in parseState\n\nRestructures the per-iteration check of whether or not to continue\nparsing to happen first and be an early-break, instead of this flow\nbeing handled by if-else.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/34b4bd13a5747560100aa6ff555b58c13d3ab1bc"},{"sha":"5895e24b84ce26061691ae79f88a10bdacc316a3","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"parseState use return over break for control flow\n\nMakes the actual effects of the various condtions more clear by\nemphasising the return of the function rather than some possible action\nafter the loop.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/5895e24b84ce26061691ae79f88a10bdacc316a3"},{"sha":"eeb073487a89e12c65dc88116a5e24179b4595bd","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"createRawKeyword return on unmet preconditions\n\nChanges the control flow of Parser::createRawKeyword to return on\nfailing to meet preconditions, rather than if-else block. Reduces\nindentation and concurrent code paths.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/eeb073487a89e12c65dc88116a5e24179b4595bd"},{"sha":"e165c7a7a21763ea77fd776d48404cf975767838","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Restructure createRawKeyword.\n\nRestructures createRawKeyword to use multiple return statements over\nif-else and updating variables, reducing indentation to have fewer\ncontemporary branches.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/e165c7a7a21763ea77fd776d48404cf975767838"},{"sha":"af6ea512708ece67953fabe70afd071b006e36d3","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Deck::iterator support\n\nAdd support for iterators that support mutations, which are useful for\nthe Deck assembly stage.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/af6ea512708ece67953fabe70afd071b006e36d3"},{"sha":"c93d990e7023f69e01541f1d79f4b34d415dc7c8","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Parser::applyUnitsToDeck restructured control flow","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/c93d990e7023f69e01541f1d79f4b34d415dc7c8"},{"sha":"37e4e1ec9988451ad89a010e68195618e766111a","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Simplify hasDimension","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/37e4e1ec9988451ad89a010e68195618e766111a"},{"sha":"3ad2686a13dac7bbfb46af99c6a6372b85f8f400","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Reformulated validInternalName with iterators","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/3ad2686a13dac7bbfb46af99c6a6372b85f8f400"},{"sha":"7fa1288ea17c32ea997d99c1a6dfd05c464d839b","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"getDeckName without boost; uses range copy\n\nDeprecates boost::trim in ParserKeyword and replaces it with range\nsearch and copy.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/7fa1288ea17c32ea997d99c1a6dfd05c464d839b"},{"sha":"771b96ad6346666eec54d421f2f91b7271ce98e7","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"validDeckName uses all_of\n\nFavours std::algorithm over hand-written loop.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/771b96ad6346666eec54d421f2f91b7271ce98e7"},{"sha":"caecb77efbb34ff232d954fd4db8673091853642","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"ParserKeyword::parse restructure control flow\n\nReduce the number of concurrent branches and remove a seemingly\nredundant check.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/caecb77efbb34ff232d954fd4db8673091853642"},{"sha":"14c134443060bcdd0d47f24f28972e0362d814e6","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Restructured control flow of ParserKeyword::equal","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/14c134443060bcdd0d47f24f28972e0362d814e6"},{"sha":"d68e87e44e7e2f098b9834ec646a97ef5fe1f4bd","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Restructure addRawRecordString\n\nRedcues indentation slightly and adds multiple return to better\ncommunicate that some conditions actually logically terminate at several\npoints.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/d68e87e44e7e2f098b9834ec646a97ef5fe1f4bd"},{"sha":"ce55328c0ff5cef889d406ecd6758d6cd2ca7f7e","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Minor restructuring in Parser::getKeyword*","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/ce55328c0ff5cef889d406ecd6758d6cd2ca7f7e"},{"sha":"d0d68643bff5992a6fce858e60f51b278bf27197","author":{"email":"ab46ffcd2951388ff3f39a29ea51368aa284108e@statoil.com","name":"Jørgen Kvalsvik"},"message":"Refactor ParseState to use explicit stack\n\nRewrites ParseState to use an explicit stack of open file streams\ninstead of spawning multiple ParseState objects. While recursion is\n*the* most elegant to solve a typical include-file system, the global\nnature of eclipse declarations make this clumsy (at best). Instead,\nmaintain an explicit stack of open files and logically parse the input\nas if it was all concatenated into one large file.\n\nAlso adds some convenient ways of accessing the current (and\ninteresting) top of the stack.","distinct":true,"url":"https://api.github.com/repos/jokva/opm-parser/commits/d0d68643bff5992a6fce858e60f51b278bf27197"}]}