Age | Commit message (Collapse) | Author |
|
Evaluation order in this case is unspecified
|
|
On Visual C++ 2010, the `++current` was being evaluated before `[*current]`, causing a deref of `end` and a crash.
|
|
* `inline` is implicitly declared for function definitions inside the class declaration
* recursive member methods are now provided with constant _current_ and _end_ iterators instead of the full _path_ vector
|
|
* moves optional-checking functionality from recursive get-by-path into a method returning its instance's value
|
|
* Added set member method overload for easier value modification
* Idea: expand detail::optional_ptr into general optional type
|
|
* offers bool() operator for easy assignment checks inside conditional statements
|
|
* member method set changes the value of a given path to the provided value
** returns false if the specified path doesn't exist
|
|
* template can now be specialized on a value type
* simple existance check of trie paths can be achieved using the check member method
* new get member method can be used to query values
** values are stored as std::pair<bool, Value> to make them optional
* expanded test cases accordingly
|
|
|
|
* Test cases are based on GoogleTest and are executed automatically after each compile
* Updated README.md accordingly
|
|
|
|
* renamed trie.cc to test.cc in preparation for implementing GoogleTest based test cases
|
|
* as the original reason for using std::forward_list is not valid anymore there is no reason for not using std::vector instead
** original reason was the thought of removing the front element during recursive traversal which was better resolved through iterators
|
|
|
|
|
|
* enables more expressive passing of the information if the resolve call was successfull
|
|
* std::forward_list can be implicitly instantiated by braced initializer list
|
|
|